LateLate API
Core

Messages


List conversations across all accounts

Fetch conversations (DMs) from all connected messaging accounts in a single API call. Supports filtering by profile and platform. Results are aggregated and deduplicated.

Supported platforms: Facebook, Instagram, Bluesky, Reddit, Telegram

GET
/v1/inbox/conversations
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Query Parameters

profileId?string

Filter by profile ID

platform?string

Filter by platform

Value in"facebook" | "instagram" | "bluesky" | "reddit" | "telegram"
status?string

Filter by conversation status

Value in"active" | "archived"
sortOrder?string

Sort order by updated time

Default"desc"
Value in"asc" | "desc"
limit?integer

Maximum number of conversations to return

Default50
Range1 <= value <= 100
cursor?string

Pagination cursor for next page

accountId?string

Filter by specific social account ID

Response Body

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/inbox/conversations"
{
  "data": [
    {
      "id": "string",
      "platform": "string",
      "accountId": "string",
      "accountUsername": "string",
      "participantId": "string",
      "participantName": "string",
      "participantPicture": "string",
      "lastMessage": "string",
      "updatedTime": "2019-08-24T14:15:22Z",
      "status": "active",
      "unreadCount": 0,
      "url": "string"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "string"
  },
  "meta": {
    "accountsQueried": 0,
    "accountsFailed": 0,
    "failedAccounts": [
      {
        "accountId": "string",
        "accountUsername": "string",
        "platform": "string",
        "error": "string",
        "code": "string",
        "retryAfter": 0
      }
    ],
    "lastUpdated": "2019-08-24T14:15:22Z"
  }
}
{
  "error": "Unauthorized"
}
Empty

Get conversation details

Retrieve details and metadata for a specific conversation. Requires accountId query parameter.

GET
/v1/inbox/conversations/{conversationId}
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

conversationIdstring

The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.

Query Parameters

accountIdstring

The social account ID

Response Body

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/inbox/conversations/string?accountId=string"
{
  "data": {
    "id": "string",
    "accountId": "string",
    "accountUsername": "string",
    "platform": "string",
    "status": "active",
    "participantName": "string",
    "participantId": "string",
    "lastMessage": "string",
    "lastMessageAt": "2019-08-24T14:15:22Z",
    "updatedTime": "2019-08-24T14:15:22Z",
    "participants": [
      {
        "id": "string",
        "name": "string"
      }
    ]
  }
}
{
  "error": "Unauthorized"
}
Empty
Empty

Update conversation status

Archive or activate a conversation. Requires accountId in request body.

PUT
/v1/inbox/conversations/{conversationId}
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

conversationIdstring

The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.

accountIdstring

Social account ID

statusstring
Value in"active" | "archived"

Response Body

application/json

application/json

curl -X PUT "https://getlate.dev/api/v1/inbox/conversations/string" \  -H "Content-Type: application/json" \  -d '{    "accountId": "string",    "status": "active"  }'
{
  "success": true,
  "data": {
    "id": "string",
    "accountId": "string",
    "status": "active",
    "platform": "string",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
}
{
  "error": "Unauthorized"
}
Empty

Get messages in a conversation

Fetch messages for a specific conversation. Requires accountId query parameter.

GET
/v1/inbox/conversations/{conversationId}/messages
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

conversationIdstring

The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.

Query Parameters

accountIdstring

Social account ID

Response Body

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/inbox/conversations/string/messages?accountId=string"
{
  "status": "string",
  "messages": [
    {
      "id": "string",
      "conversationId": "string",
      "accountId": "string",
      "platform": "string",
      "message": "string",
      "senderId": "string",
      "senderName": "string",
      "direction": "incoming",
      "createdAt": "2019-08-24T14:15:22Z",
      "attachments": [
        {
          "id": "string",
          "type": "image",
          "url": "string",
          "filename": "string",
          "previewUrl": "string"
        }
      ],
      "subject": "string",
      "storyReply": true,
      "isStoryMention": true
    }
  ],
  "lastUpdated": "2019-08-24T14:15:22Z"
}
{
  "error": "Unauthorized"
}
Empty

Send a message

Send a message in a conversation. Requires accountId in request body.

Attachment support by platform:

  • Telegram: Images, videos, documents (up to 50MB)
  • Facebook Messenger: Images, videos, audio, files
  • Twitter/X: Images, videos (requires media upload)
  • Instagram: Not supported (API limitation)
  • Bluesky: Not supported (API limitation)
  • Reddit: Not supported (API limitation)
POST
/v1/inbox/conversations/{conversationId}/messages
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

conversationIdstring

The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.

accountIdstring

Social account ID

messagestring

Message text

Response Body

application/json

application/json

application/json

curl -X POST "https://getlate.dev/api/v1/inbox/conversations/string/messages" \  -H "Content-Type: application/json" \  -d '{    "accountId": "string",    "message": "string"  }'
{
  "success": true,
  "data": {
    "messageId": "string",
    "conversationId": "string",
    "sentAt": "2019-08-24T14:15:22Z",
    "message": "string"
  }
}
{
  "error": "string",
  "code": "PLATFORM_LIMITATION"
}
{
  "error": "Unauthorized"
}
Empty