Skip to main content
POST
Send a message

Authorizations

Authorization
string
header
required

OAuth 2.1 authorization code + PKCE (S256). Tokens are tenant-bound (company_id) and scoped. Discover endpoints via /.well-known/oauth-authorization-server.

Headers

Idempotency-Key
string

Client-chosen key; replaying the same key + body returns the original response, a different body returns 409.

Body

application/json

Send a DM as the company. Provide conversationId to post into an existing conversation, or creatorId to start/continue a DM with a creator (exactly one is required). content is the message text. A company on SideShift's own messaging is served natively; a company that has not moved keeps its connected chat lane. attachment_ids are optional provider file ids from that lane. On a room on SideShift's own messaging they are refused with 400 invalid_request (reason attachments_unsupported_on_native_conversation) and nothing is sent - resend without attachment_ids.

content
string
required
conversationId
string

An existing conversation id (a bare uuid on a native room; an older id still resolves to the same room).

creatorId
string

Resolves the pair's conversation — a native room on a company on SideShift's own messaging — and creates it when none exists.

attachment_ids
string[]

Optional provider file ids from the company's connected chat lane. Refused with 400 invalid_request (attachments_unsupported_on_native_conversation) on a room on SideShift's own messaging.

Response

The message was sent.

data
object
required