activities
Per-contact activity timeline
GET /v1/contacts/{id}/activities
Auth required
api.activities.view
Returns one contact's activities, newest first, cursor-paginated.
404 not_found when the id is not a contact in this org. Filters:
name, from/to (default last 30 days, capped by plan retention).
Path parameters
id string<uuid> required Resource UUID. An unparseable id reads as a clean 404 not_found.
Query parameters
from string<date-time> optional Window start (RFC 3339). Defaults to 30 days ago.
to string<date-time> optional Window end (RFC 3339). Defaults to now.
limit integer optional Page size (1–200). Default 50.
cursor string optional Opaque cursor returned from the previous page.
name string optional Exact activity name to filter by.
Responses
Errors follow the RFC 7807 problem format — see the error reference.
200 Cursor-paginated per-contact timeline application/json
data array<object> required Each entry in data:
activity_id string<uuid> required contact_id string<uuid> required email string optional Contact email at ingest time.
name string required properties object required The free-form payload as submitted.
occurred_at string<date-time> required received_at string<date-time> required source string optional The ingesting API key's prefix.
pagination object required Fields of pagination:
has_more boolean required next_cursor string | null optional 401 Missing, malformed, or unknown API key application/problem+json
403 Key lacks the required scope or plan limit violated application/problem+json
404 Resource not found application/problem+json
422 Query parameter or path value failed validation application/problem+json
429 Per-org rate limit exceeded application/problem+json
500 Unexpected server-side failure. The
code is internal_error. The
request_id field can be quoted to SendOps support to investigate.
application/problem+json