Contacts

List contacts

List contacts in your organization, newest-agnostic and keyset-paginated.

Follow next_cursor until has_more is false to walk the whole set. Pagination is stable under concurrent writes, which OFFSET is not.

Ordering is by id, not by date. crm_contacts is past five million rows and the only organization-scoped index that can serve this is (organization_id, id). Sorting by created_at would fall back to a heap scan and time out on large organizations. If you need "everything changed since X", ask — that needs an index we haven't added yet.

Filters are restricted to indexed columns for the same reason. Combining several is fine.

get/v1/contacts

Request

  • Base URL: https://api.automatedclientacquisition.com
  • URL: https://api.automatedclientacquisition.com/v1/contacts
  • Auth: HTTP bearer

Query parameters

limitinteger

Rows per page. Values above 100 are clamped to 100.

cursorstring

Opaque pagination cursor from the previous response's next_cursor. Treat it as a token — its encoding is not part of the contract.

emailstring

Exact email match, case-insensitive. The cheapest way to check whether a contact already exists.

tagstring

Contacts carrying this tag.

companystring

Substring match on company name.

statusstring
sourcestring

Attribution set at creation, e.g. n8n.

stage_idstring uuid
owner_user_idstring uuid

Response

A page of contacts.

successboolean
has_moreboolean

Whether another page exists.

next_cursorstring nullable

Pass as cursor to fetch the next page. Null on the last page.

Changes

No recorded changes to this operation across all 1 revision of this API.