Reference
Contacts
The address book belongs to the project, not to one person. Three people answer the same number; when one works out who a handle is, the other two should not have to work it out again — and the customer should not get "Hi, who is this?" from the second person they speak to.
Every name this project has given a handle.
`reach` says whether iMessage is known to work with each one, from your own traffic. See Lookup for what the three states mean.
curl -X GET https://api.missblue.dev/v1/contacts \
-H "Authorization: Bearer $MISS_BLUE_KEY"Response
{
"total": 1,
"data": [
{
"id": "73ef7753-7ca6-493e-b9ff-9eef708828e7",
"handle": "+15551230002",
"name": "Head of catering",
"reach": "reachable",
"created_at": "2026-08-23T09:12:04Z",
"updated_at": "2026-08-23T09:12:04Z"
}
]
}Name a handle, or rename one already named.
PUT rather than POST: naming a handle is idempotent, and naming one that already has a name is a rename rather than a conflict. A caller should not have to know which it is doing.
| handle* | string | Phone number or Apple ID email. |
| name* | string | Clearing a name is a delete; there is a route for that. |
curl -X PUT https://api.missblue.dev/v1/contacts \
-H "Authorization: Bearer $MISS_BLUE_KEY" \
-H "Content-Type: application/json" \
-d '{
"handle": "+15551230002",
"name": "Head of catering"
}'Name many handles at once.
Saves what is usable and tells you precisely which rows were not, rather than refusing the whole file over one bad line — a five-hundred-row import that fails on row four hundred means somebody edits and retries, several times.
| contacts* | array | Objects with `handle` and `name`. |
curl -X POST https://api.missblue.dev/v1/contacts/import \
-H "Authorization: Bearer $MISS_BLUE_KEY" \
-H "Content-Type: application/json" \
-d '{
"contacts": [
{
"handle": "+15551230002",
"name": "Head of catering"
}
]
}'Remove a name from the project's book.
Anyone on the project may remove any name, not only whoever added it. A shared book that only its author can tidy is a book nobody tidies.
curl -X DELETE https://api.missblue.dev/v1/contacts/73ef7753-7ca6-493e-b9ff-9eef708828e7 \
-H "Authorization: Bearer $MISS_BLUE_KEY"- 404No such contact in this project's book.