List a contact's events

GET/api/v1/contacts/{contact}/events
Requires anorganization API keywith the scopecontacts:read

The events recorded for one contact, newest first by occurred_at, including historical ones. The same list as the Events tab on the contact in the dashboard — the quickest way to check an integration is sending what you think it is.

Parameters

NameInTypeDescription
contactrequiredpathstringThe contact identifier.

Request

GET/api/v1/contacts/{contact}/events
curl -X GET 'https://app.mailyte.com/api/v1/contacts/01JBT8XQ2M9WYC3K4F6R7S8T9V/events' \
  -H 'Authorization: Bearer mk_live_YOUR_API_KEY'
The key names its own organization, so no X-Organization-ID header is needed.

Response

Success.

  • dataobject
    • dataarray<object>
      • idstring
      • contact_idstring
      • eventstring

        The event name as it was sent, lowercase snake_case.

      • propertiesobject
      • occurred_atstring
      • received_atstring
      • sourcestringapi | system | import
      • unique_idstring

        The deduplication key: yours if you sent one, otherwise derived.

      • historicalboolean

        True when the event was older than the trigger window at receipt. Stored, never triggers an automation.

    • pagination_metaany

Returned inside the standard envelope.

Errors

StatusWhen
401The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist.
403The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys.
404No such resource in this organization.
422The request was understood but the values were not acceptable.
429Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait.

Every status, with what causes it and what to do, is on the error reference.