Skip to main content
POST
Start group conversation

Authorizations

Authorization
string
header
required

Access token issued by gtm.service.id. Its access_identity claim carries team_sid, actor_sid and actor_type, and that team scope is authoritative.

Team-SID
string
header
required

Team scope for tokens that do not carry one. Ignored when the token already names a team.

Body

application/json

Request body of start_linkedin_group_conversation.

linkedin_account_sid
string
required

LinkedIn account sid (ln_ac_…).

Required string length: 18
Pattern: ^ln_ac_
attendees
object[]
required

2..20 other participants; each needs a URN.

Required array length: 2 - 20 elements
text
string
required

Opening message; 1..8000 chars. Sent verbatim: the platform renders no merge fields, a {{first_name}} goes out as those braces.

Required string length: 1 - 8000
conversation_title
string | null

Optional group name, max 100 chars; omitted leaves the thread unnamed.

Maximum string length: 100
attachments
object[]

Exactly one of file_base64 / file_url per item; 35 MB decoded total per send.

client_reference
string | null

Your key for this ONE message (max 255, byte for byte): one key per message, the same key on every repeat of it. The key and its place (the attendee set) are one message whatever it says, and a repeat never goes out twice: it answers 200 with the row the first send stored (result.idempotent_replay, result.content_differs when this request says something else) or 409 naming error.context.send_outcome (in_flight, unknown with retry_after and send_decisive_at, or sent; not_sent with blocking_activity_log_sid when another message holds the place). The same key at another place is another message. Without a key the same words to the same place count as a repeat for an hour after they went out. Stored on the row and searchable; check_linkedin_message_sent asks by it.

Maximum string length: 255
confirmed_not_sent
string | null

A person's word that an earlier attempt of THIS message is not on LinkedIn: its activity_log_sid (ln_al_...), from the 409 or check_linkedin_message_sent, given only after someone looked at the conversation. Taken once the attempt can no longer land (before that: 409 send_outcome_unknown, waiting_for may_still_land, retry_after and send_decisive_at that moment): it settles that attempt not_sent and this request goes out. Moot when the attempt is no longer in doubt; another message's sid is 422 not_this_message.

Required string length: 18
Pattern: ^ln_al_
confirmed_sent
string | null

A person's word that an earlier attempt of THIS message IS on LinkedIn: its activity_log_sid, as for confirmed_not_sent (never both). Taken at once; it settles the attempt sent and sends nothing: the answer is 409 concurrent_send_in_flight with send_outcome sent, or 200 with the row once it is stored. Another message's sid is 422 not_this_message; an attempt already proved not sent is 409 confirmed_sent_contradicts.

Required string length: 18
Pattern: ^ln_al_

Response

action success envelope.

success
enum<boolean>
required
Available options:
true
operation
enum<string>
required
Available options:
action
action
string
required

kebab-case verb; matches the route segment.

item
object | null
required
result
object
required
meta
object
required
pacing
object