---
title: "Send a message to a thread"
method: POST
path: "/threads/{id}/messages"
---

# Send a message to a thread

`POST /threads/{id}/messages`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/threads/{id}/messages`
- Auth: HTTP bearer

Send one message to every agent of the thread, or to the ones `columnIds` names, as the web composer does. `deliveryId` (a UUID) names the send, so a retry reaches the same agents once. The answer says, per agent, whether it took the message.

## Path parameters

- `id` string, required

## Request body

- object
  - `text` string
  - `deliveryId` string, required
  - `columnIds` string[]
  - `files` object[]
  - `interactionMode` 'plan' | 'build'
  - `timezone` string

## Response `200`

OK

- object
  - `results` object

## Other responses

- `400`: Error — { error: { code, message } }
- `401`: Error — { error: { code, message } }
- `403`: Error — { error: { code, message } }
- `404`: Error — { error: { code, message } }
- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/threads/:id/messages/post.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/8280a065ef6a?raw)
