Skip to main content
GET
/
users
/
{userId}
Get a contact
curl --request GET \
  --url https://apix.spotzee.com/api/client/users/{userId} \
  --header 'Authorization: Bearer <token>'
{
  "id": 1024,
  "project_id": 42,
  "external_id": "cust-9f4b21",
  "created_at": "2026-04-28T05:14:00.000Z",
  "updated_at": "2026-04-28T05:14:00.000Z",
  "anonymous_id": "anon-2c8a3e",
  "email": "jane@example.com",
  "phone": "+61400123456",
  "timezone": "Australia/Sydney",
  "locale": "en-AU",
  "data": {
    "first_name": "Jane",
    "last_name": "Doe",
    "plan": "pro"
  },
  "has_push_device": true,
  "devices": [
    {}
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.spotzee.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Project-scoped secret API key (sk_…). Pass in the Authorization: Bearer <key> header. Grants access to the project the key was issued for.

Path Parameters

userId
string
required

Numeric ID (admin scope) or contact external_id (project scope) — the route resolves both.

Example:

"cust-9f4b21"

Response

The requested contact.

A customer record being marketed to. Owned by a project; identified by external_id.

id
integer
required

Numeric identifier. Use external_id as the stable cross-system reference.

Example:

1024

project_id
integer
required

Identifier of the project this contact belongs to.

Example:

42

external_id
string
required

Stable identifier supplied by the calling system. Treated as the contact’s primary key for upserts.

Example:

"cust-9f4b21"

created_at
string | null
required

Time the contact was first created. ISO 8601.

Example:

"2026-04-28T05:14:00.000Z"

updated_at
string | null
required

Time the contact was last modified. ISO 8601.

Example:

"2026-04-28T05:14:00.000Z"

anonymous_id
string | null

Anonymous tracking identifier captured before the contact was identified, when available.

Example:

"anon-2c8a3e"

email
string | null

Contact’s email address. Format-validated on write.

Example:

"jane@example.com"

phone
string | null

Contact’s phone number in E.164 format on read.

Example:

"+61400123456"

timezone
string | null

IANA timezone used for time-of-day delivery scheduling.

Example:

"Australia/Sydney"

locale
string | null

BCP-47 locale used for content rendering.

Example:

"en-AU"

data
object

Free-form custom attributes attached to the contact. Used in segmentation and template rendering.

Example:
{
  "first_name": "Jane",
  "last_name": "Doe",
  "plan": "pro"
}
has_push_device
boolean

True when the contact has at least one registered push device.

devices
object[]

Registered push devices, when included.