Contacts
Add an overview of the Contacts API here. This block is preserved across regenerations.
Endpoints
GET /api/v1/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.
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.
Exact-match email filter. A miss returns an empty page, not a 404.
Max items to return (1–100, default 20)
20Number of items to skip (default 0)
0Paginated list of contacts
API key missing or invalid
Insufficient scope — requires 'read'
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}
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.
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.
Contact details
API key missing or invalid
Insufficient scope — requires 'read'
Contact not found
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?
