Identifiers
Integers that can exceed 253 are sent as strings. Treat every id as opaque — never parse structure out of one, and never assume ids are dense or ordered except where a page explicitly says so (event cursors).
Timestamps and dates
- Every timestamp is ISO-8601 in UTC with milliseconds:
2026-09-01T10:00:00.000Z. expectedCloseDateon a Decision Room is a calendar date with no time zone, formattedYYYY-MM-DD. Do not convert it to aDateat local midnight — it will render as the previous day for anyone west of UTC.- Filter parameters (
since,updated_since) accept any ISO-8601 string. An unparseable value returns400 INVALID_TIMESTAMP.
Tenancy
Everything is scoped to the key’s workspace in the database query, not by a filter you supply. Consequences worth knowing:- An id that belongs to another workspace returns
404 NOT_FOUND, indistinguishable from an id that does not exist. The API never confirms that something exists elsewhere. - Engagement recorded against share links, which carry no workspace of their own, is scoped through the rep who created the link.
Privacy boundaries
The API deliberately withholds some things TrailerCast holds:- Private recordings — a call the rep hid from their own team is never returned, even to a workspace key.
- Seller previews — a rep opening their own share link to check it is excluded from every engagement feed.
- Viewer location — only a daily-salted hash of the viewer’s IP is stored, so no endpoint can return a location.
locationis alwaysnull. - Transcripts and media — summaries and topic timestamps are exposed; the recording, transcript text, and document files are not.
- Room content — welcome copy, ROI narrative, and the documents themselves are not returned; their engagement is.
Field stability
- Fields documented as nullable will be
null, never absent, when there is no value — you can rely on the key existing. - Arrays are
[]when empty, nevernull. - Nothing is invented. A call summary field the AI did not produce is
nullor[]. In particular the summarisers do not produce objections or sentiment today;painPoints,openQuestions, andqualificationVerdictare the nearest signals. See What is not available.
Unknown fields and event types
New fields, query parameters, endpoints, and webhook event types may be added at any time without a version bump. Consumers must ignore fields they do not recognise and acknowledge (2xx) webhook types they do not handle. See Versioning.