Read the conversation with Hedge on a submission
const url = 'https://api.hedgespecialty.com/api/v1/broker/submissions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/thread?limit=50';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.hedgespecialty.com/api/v1/broker/submissions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/thread?limit=50' \ --header 'Authorization: Bearer <token>'Everything Hedge has said to your brokerage about this submission
and everything your brokerage said back, oldest first: the
clearance email, questions, market-plan updates, quote deliveries,
your email replies, and messages exchanged with the assistant
(through the portal or POST .../thread). Each item is a
ThreadMessage; body_text is always plain text. Carrier and
insured correspondence is never included.
The end-of-stream signal is the cursor, never page length. A
non-null next_cursor means more messages may exist: store it and
poll again with since=next_cursor until you receive a null.
next_cursor is null only when the request proved your position
is the tail. Message ids are stable, so re-reading an older cursor
is always safe (dedupe by id). Prefer the submission.message
webhook for push delivery of the same objects.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Opaque cursor from a previous page’s next_cursor; returns messages strictly after it. Omit to read from the beginning.
Max messages per page. Values outside [1, 200] are clamped, never rejected.
Responses
Section titled “Responses”One page of messages plus the follow-up cursor
object
One broker-facing message on a submission, normalized across
channels. direction is relative to Hedge: inbound = your
brokerage wrote it (an email reply, or a message sent through
POST .../thread or the portal assistant), outbound = Hedge
wrote it. channel is email for emails Hedge exchanged with
your brokerage and chat for assistant-chat rows; from/to
are email addresses and are null/empty on chat rows.
object
The email’s type (e.g. initial_clearance, market_plan_update, quote_delivery, broker_reply) or chat.
Plain text. HTML-only emails are converted server-side.
object
Present when the file is a finalized document you can fetch via GET /broker/finalized-documents/{document_id}/pdf (relative to the base URL).
RFC 5322 Message-ID this email replied to, when known.
Example
{ "messages": [ { "channel": "email", "direction": "inbound" } ]}Not found (or not your brokerage’s)
Invalid since cursor