For the complete documentation index, see llms.txt. This page is also available as Markdown.

Contacts API

Full CRUD over the people who contact you.

Method
Path
Scope

GET

/contacts

contacts:read

GET

/contacts/{id}

contacts:read

POST

/contacts

contacts:write

PATCH

/contacts/{id}

contacts:write

DELETE

/contacts/{id}

contacts:write

The only resource in the API with full CRUD.

List contacts

curl "https://app.limecall.com/api/v1/contacts?page=1&limit=50" \
  -H "Authorization: Bearer sk_live_..."

page defaults to 1 and limit to 50. Returns the standard { data, pagination } envelope.

Fields

Accepted on both POST and PATCH:

firstName · lastName · email · phone · address · city · state · zipCode · tags · status · notes

Create

curl -X POST https://app.limecall.com/api/v1/contacts \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "Priya",
    "lastName": "Patel",
    "phone": "+447700900123",
    "email": "[email protected]",
    "tags": ["import", "leeds"]
  }'

Send phone in international format. Contacts are matched on phone number throughout LimeCall, so a national-format number creates a duplicate rather than matching the existing person.

Update

Send only the fields you are changing.

Delete

Bulk imports

There is no bulk endpoint. Importing a list means one POST per row, so respect the rate limit and back off on 429 rather than firing the whole file at once. See Errors, pagination & rate limits.

For a one-off import, the CSV importer in the dashboard is easier — see Contacts.

Was this helpful?