Import contacts for securely matching with other users. This follows the protocol explained in https://docs.bsky.app/blog/contact-import-rfc. Requires authentication.
Input
application/jsoncontacts
array
Required
List of phone numbers in global E.164 format (e.g., '+12125550123'). Phone numbers that cannot be normalized into a valid phone number will be discarded. Should not repeat the 'phone' input used in `app.bsky.contact.verifyPhone`.
maxLength: 1000 bytesminLength: 1 bytestoken
string
Required
JWT to authenticate the call. Use the JWT received as a response to the call to `app.bsky.contact.verifyPhone`.
Output
application/jsonmatchesAndContactIndexes
array
Required
The users that matched during import and their indexes on the input contacts, so the client can correlate with its local list.
Errors
InvalidDid
InvalidContacts
TooManyContacts
InvalidToken
InternalError
Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"token",
"contacts"
],
"properties": {
"token": {
"type": "string",
"description": "JWT to authenticate the call. Use the JWT received as a response to the call to `app.bsky.contact.verifyPhone`."
},
"contacts": {
"type": "array",
"items": {
"type": "string"
},
"maxLength": 1000,
"minLength": 1,
"description": "List of phone numbers in global E.164 format (e.g., '+12125550123'). Phone numbers that cannot be normalized into a valid phone number will be discarded. Should not repeat the 'phone' input used in `app.bsky.contact.verifyPhone`."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidDid"
},
{
"name": "InvalidContacts"
},
{
"name": "TooManyContacts"
},
{
"name": "InvalidToken"
},
{
"name": "InternalError"
}
],
"output": {
"schema": {
"type": "object",
"required": [
"matchesAndContactIndexes"
],
"properties": {
"matchesAndContactIndexes": {
"type": "array",
"items": {
"ref": "app.bsky.contact.defs#matchAndContactIndex",
"type": "ref"
},
"description": "The users that matched during import and their indexes on the input contacts, so the client can correlate with its local list."
}
}
},
"encoding": "application/json"
},
"description": "Import contacts for securely matching with other users. This follows the protocol explained in https://docs.bsky.app/blog/contact-import-rfc. Requires authentication."
}