Skip to content
Browse documentation
On this page

Contacts API

Create, update, look up and delete Dialstitch contacts through the API, and match a phone number to a contact.

Keep Dialstitch contacts in step with your CRM or database. Reading needs contacts:read. Creating, updating and deleting need contacts:write.

The contact object

{
  "id": "7a9b0c1d-2e3f-4a5b-6c7d-8e9f0a1b2c3d",
  "name": "Dana Ruiz",
  "company": "Ruiz Plumbing",
  "notes": "Prefers texts after 5pm.",
  "favorite": false,
  "owner_user_id": null,
  "phones": [
    { "e164": "+14155550123", "label": "mobile" }
  ],
  "created_at": "2026-10-28T18:20:00.000Z",
  "updated_at": "2026-11-01T09:12:44.000Z"
}

owner_user_id is set on a person's own private contact and null on a team contact. Contacts created through the API are always team contacts.

List contacts

GET /contacts
  • limit, cursor: pagination.
  • phone: only contacts with this phone number.

Look up a contact by phone number

GET /contacts/lookup?phone=+14155550123

Returns the contact for a number the same way the app matches callers: the oldest contact with that number. Returns 404 if no contact has it. phone is required.

Get a contact

GET /contacts/{id}

Create a contact

POST /contacts
  • name (required): up to 255 characters.
  • company: up to 255 characters.
  • notes: up to 10,000 characters.
  • favorite: true or false.
  • phones: up to 20 numbers. Each is a string, or an object with e164 and label. The label defaults to mobile.
curl -X POST https://dialstitch.com/api/v1/contacts \
  -H "Authorization: Bearer dpk_..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Dana Ruiz", "company": "Ruiz Plumbing", "phones": [{"e164": "+14155550123", "label": "mobile"}]}'

Returns 201 with { "data": <contact> }. Creating a contact sends the contact.created webhook.

Update a contact

PATCH /contacts/{id}

Send only the fields you want to change. If you send phones, it replaces every number on the contact. Returns the updated contact and sends the contact.updated webhook.

Delete a contact

DELETE /contacts/{id}

Returns 204. Past calls keep their history but lose the link to the contact.