Skip to content

Read the conversation with Hedge on a submission

GET
/broker/submissions/{submission_id}/thread
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.

submission_id
required
string format: uuid
since
string

Opaque cursor from a previous page’s next_cursor; returns messages strictly after it. Omit to read from the beginning.

limit
integer
default: 50

Max messages per page. Values outside [1, 200] are clamped, never rejected.

One page of messages plus the follow-up cursor

Media typeapplication/json
object
messages
Array<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
id
required
string format: uuid
channel
required
string
Allowed values: email chat
direction
required
string
Allowed values: inbound outbound
kind
required

The email’s type (e.g. initial_clearance, market_plan_update, quote_delivery, broker_reply) or chat.

string
occurred_at
required
string format: date-time
subject
string
nullable
body_text
required

Plain text. HTML-only emails are converted server-side.

string
from
string
nullable
to
Array<string>
attachments
Array<object>
object
name
required
string
download_path

Present when the file is a finalized document you can fetch via GET /broker/finalized-documents/{document_id}/pdf (relative to the base URL).

string
nullable
in_reply_to

RFC 5322 Message-ID this email replied to, when known.

string
nullable
next_cursor
string
nullable
Example
{
"messages": [
{
"channel": "email",
"direction": "inbound"
}
]
}

Not found (or not your brokerage’s)

Invalid since cursor