Skip to main content
POST
/
threads
/
{threadId}
/
messages
Send message
curl --request POST \
  --url https://inboxapp.com/api/v1/threads/{threadId}/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "content": "<string>",
  "replyToMessageId": "<string>"
}
'
{
  "platform": "twitter",
  "teamId": "<string>",
  "threadId": "<string>",
  "id": "<string>",
  "userId": "df6jbw4h36...",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "platformId": "1234567890",
  "content": "<string>",
  "campaignId": "df6jbw4h36...",
  "authorId": "<string>",
  "origin": "internal",
  "replyData": "<unknown>",
  "forwardData": "<unknown>",
  "entities": "<unknown>",
  "attachment": "<unknown>",
  "reactions": [
    "<unknown>"
  ],
  "isEncrypted": true,
  "isEdited": true,
  "deletedAt": "2023-11-07T05:31:56Z",
  "platformDeletedAt": "2023-11-07T05:31:56Z"
}
If this is the first message in the thread (outbound), the Outbound Messages addon ($199/mo) is required. Replies to existing conversations work on all plans. See Working with messages for details.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

threadId
string
required
Pattern: ^[0-9a-z]+$

Body

application/json
content
string
required
Minimum string length: 1
replyToMessageId
string

The ID of the message to reply to.

Pattern: ^[0-9a-z]+$

Response

200 - application/json

OK

platform
enum<string>
required

The platform the message was sent from.

Available options:
twitter
Example:

"twitter"

teamId
string
required
Pattern: ^[0-9a-z]+$
Example:

"df6jbw4h36..."

threadId
string
required
Pattern: ^[0-9a-z]+$
Example:

"df6jbw4h36..."

id
string
required

The Inbox ID of the message.

Pattern: ^[0-9a-z]+$
Example:

"df6jbw4h36..."

userId
string | null
required

The Inbox user who sent this message if applicable.

Pattern: ^[0-9a-z]+$
Example:

"df6jbw4h36..."

createdAt
string<date-time>
required
updatedAt
string<date-time> | null
required
platformId
string | null
required
Example:

"1234567890"

content
string
required
Example:

"Hey, I'm reaching out from Acme Agency..."

campaignId
string | null
required

The Inbox campaign ID that sent this message if applicable.

Pattern: ^[0-9a-z]+$
Example:

"df6jbw4h36..."

authorId
string
required

Will either be the accountLinkId or the externalId of the thread. May be a cuid2 or a legacy external ID.

Example:

"df6jbw4h36..."

origin
enum<string> | null
required

The origin of the message. 'internal' means send from a user on Inbox, 'external' means synced from Twitter, 'api' means sent via the API.

Available options:
internal,
external,
api
Example:

"internal"

replyData
any | null
required

The reply data of the message if applicable.

forwardData
any | null
required

The forward data of the message if applicable.

entities
any
required

Normalized URL entities, mentions, hashtags, tweet shares.

attachment
any
required

Normalized media and card attachments.

reactions
any[]
required

Normalized reactions.

isEncrypted
boolean | null
required

Whether the message is end-to-end encrypted.

isEdited
boolean
required

Whether the message has been edited.

deletedAt
string<date-time> | null
required

When the message was soft-deleted in Inbox.

platformDeletedAt
string<date-time> | null
required

When the message was deleted on the platform.