A contact's activity timeline
The contact's activity timeline as the app's activity drawer shows it, newest first: campaign emails sent and replies received, LinkedIn invitations and messages, dialer calls with their transcript, recording, disposition and the notes the rep saved, activity logged by a connected CRM, and campaign steps still scheduled to go out (scheduledAt set, sentAt null). Every entry carries the same keys whatever the channel, so channel tells you which of them are filled: email rows carry subject, body, from and to; LinkedIn rows carry the message text in body and the profile in linkedinUrl; call rows carry phoneNumber, direction, callTranscript, callRecordingUrl, callDisposition, and the call notes — not a message — in body. Page with limit (1-100, default 100) and cursor: copy nextCursor from the previous page and stop when it is null. limit bounds the page of history; the first page can carry a few entries on top of it (campaign steps still scheduled, and LinkedIn activity, neither of which pages on its own), so read activities.length rather than assuming limit. Free to call.
Errors:
- 404 CONTACT_NOT_FOUND — No contact with that id exists.
- 422 VALIDATION_FAILED — The path, query or body failed validation; param names the offending field and message says why.
- 429 RATE_LIMITED — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.
- 500 UNEXPECTED_ERROR — The timeline could not be assembled; quote request_id to support.
Requires one of the following token scopes: contacts.
Request
- Base URL: https://api.tryfuse.ai/api/v1
- URL: https://api.tryfuse.ai/api/v1/business/contacts/{contactId}/activities
- Auth: HTTP basic
Path parameters
Id of the contact: the row id from GET /business/lists/{listId}/rows, or the contactId returned by POST /business/contacts/resolve.
Query parameters
Maximum number of activities per page, 1-100 (default 100). It bounds the page of history; the first page can carry a few entries on top of it (campaign steps still scheduled, and LinkedIn activity, neither of which pages on its own), so read activities.length rather than assuming limit.
Opaque cursor copied from the previous page's nextCursor (max 500 characters). Omit it for the first page.
Response
Success
Changes
No recorded changes to this operation across all 1 revision of this API.