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

Contacts

Add an overview of the Contacts API here. This block is preserved across regenerations.

Endpoints

GET /api/v1/contacts

List contacts for the tenant, optionally filtered by exact email address

get
/contacts

Resolve a person without an id — pass email to look up a contact directly. Scoped to the tenant that issued the API key; a match in another tenant is never returned.

Authorizations
X-API-KeystringRequired

Scoped secret API key — send an sk_live_… value (keys issued before the typed format carry a bare pk_<hex> prefix and are also secret; they still work). A publishable pk_live_…/pk_test_… key is browser-safe, carries no scopes, and is refused by every endpoint in this spec with publishable_key_not_allowed. Coarse scopes: read, commerce, admin (admin covers everything below). Narrow per-resource scopes: journeys|pages :read|write|publish|delete, productsets :read|write|publish|delete, components|rules :read|write|delete, context :read (read-only context tier), catalog :read|write-native. publish is never implied by write.

Query parameters
emailstring · emailOptional

Exact-match email filter. A miss returns an empty page, not a 404.

limitinteger · min: 1 · max: 100Optional

Max items to return (1–100, default 20)

Default: 20
offsetintegerOptional

Number of items to skip (default 0)

Default: 0
Responses
200

Paginated list of contacts

get/contacts
GET /api/v1/contacts HTTP/1.1
Host: api.peakcommerce.app
X-API-Key: YOUR_API_KEY
Accept: */*

No content

Notes, examples, or caveats for GET /contacts go here.

GET /api/v1/contacts/{id}

Get a contact by ID

get
/contacts/{id}

Resolves a contactId — for example the one carried on a subscription — into the contact record, including its email address. Visibility is tenant-wide: an API key is a tenant-level credential and is not subject to the per-user record scope that applies to a signed-in user.

Authorizations
X-API-KeystringRequired

Scoped secret API key — send an sk_live_… value (keys issued before the typed format carry a bare pk_<hex> prefix and are also secret; they still work). A publishable pk_live_…/pk_test_… key is browser-safe, carries no scopes, and is refused by every endpoint in this spec with publishable_key_not_allowed. Coarse scopes: read, commerce, admin (admin covers everything below). Narrow per-resource scopes: journeys|pages :read|write|publish|delete, productsets :read|write|publish|delete, components|rules :read|write|delete, context :read (read-only context tier), catalog :read|write-native. publish is never implied by write.

Path parameters
idstring · uuidRequired
Responses
200

Contact details

get/contacts/{id}
GET /api/v1/contacts/{id} HTTP/1.1
Host: api.peakcommerce.app
X-API-Key: YOUR_API_KEY
Accept: */*

No content

Notes, examples, or caveats for GET /contacts/{id} go here.

Last updated

Was this helpful?