---
title: "Proactive fan-out: post to every thread bound to a destination [write]"
method: POST
path: "/channels/deliveries"
tags: ["channels"]
---

# Proactive fan-out: post to every thread bound to a destination \[write\]

`POST /channels/deliveries`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/channels/deliveries`
- Auth: HTTP bearer

## Request body

- PostChannelDelivery
  - `destination` object, required: Exactly one of webhook (endpoint id) or session (session id)
    - `webhook` string
    - `session` string
  - `parts` ChannelMessagePart[], required
    - union
      - object
        - `type` 'file', required
        - `file_id` string, required: A visible, unexpired Files API upload or session output; requires capabilities.files.
      - object
        - `type` 'text', required
        - `text` string, required
      - object
        - `type` 'markdown', required
        - `text` string, required
      - object
        - `type` 'raw', required
        - `platform` string, required
        - `payload` string, required: Platform-native payload, JSON-encoded
  - `done` boolean: Resolves each working marker as successful; cannot be true with failed
  - `failed` boolean: Resolves each working marker as failed; cannot be true with done

## Response `200`

OK — per-thread results

- object
  - `results` object[]
    - `thread_id` string
    - `status` string

## Other responses

- `default`: Error — { error: { code, message } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - added the optional property `error/request_id` to the response with the `default` status

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/channels/deliveries/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)
