---
title: "Deprecated — use POST /sessions/{id}/events [write]"
method: POST
path: "/sessions/{id}/messages"
deprecated: true
---

# Deprecated — use POST /sessions/{id}/events \[write\]

`POST /sessions/{id}/messages`

## Request

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

> **Deprecated.**

The legacy input shape ({parts}); accepted for one release and translated to a single user.message, then 410. Optional Idempotency-Key header dedupes retries.

## Path parameters

- `id` string, required

## Request body

- SendMessages
  - `parts` union[], required
    - union
      - object
        - `index` integer, required
        - `type` 'text', required
        - `text` string
        - `stream_id` string, nullable
        - `stream_index` integer, nullable
      - object
        - `index` integer, required
        - `type` 'reasoning', required
        - `text` string
        - `redacted` boolean
        - `stream_id` string, nullable
        - `stream_index` integer, nullable
      - object
        - `index` integer, required
        - `type` 'tool_call', required
        - `call_id` string, required
        - `tool_name` string, required
        - `args` object
        - `args_partial` string, nullable
      - object
        - `index` integer, required
        - `type` 'tool_result', required
        - `call_id` string, required
        - `tool_name` string, required
        - `status` 'ok' | 'error'
        - `result` object
      - object
        - `index` integer, required
        - `type` 'file', required
        - `name` string, required
        - `media_type` string, required
        - `uri` string, nullable
        - `data` string, nullable
        - `size_bytes` integer, nullable
      - object
        - `index` integer, required
        - `type` 'image', required
        - `media_type` string, required
        - `uri` string, nullable
        - `data` string, nullable
        - `alt` string, nullable
        - `width` integer, nullable
        - `height` integer, nullable
      - object
        - `index` integer, required
        - `type` 'video', required
        - `media_type` string, required
        - `uri` string, nullable
        - `data` string, nullable
        - `alt` string, nullable
        - `width` integer, nullable
        - `height` integer, nullable
        - `duration_ms` integer, nullable
        - `size_bytes` integer, nullable
        - `thumbnail_uri` string, nullable
      - object
        - `index` integer, required
        - `type` 'status', required
        - `level` 'thinking' | 'working' | 'waiting' | 'idle' | 'done', required
        - `text` string, nullable
      - object
        - `index` integer, required
        - `type` 'error', required
        - `code` string, required
        - `message` string, required
        - `retryable` boolean

## Response `202`

Accepted — body is {}; output arrives on the stream

- object

## Other responses

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

## Changes

- **2026-11-02** `e5e8f0229a99`: 4 info
  - added the optional property `error/request_id` to the response with the `default` status
  - the response property `error` became required for the status `default`
  - the response property `error/code` became required for the status `default`
  - the response property `error/message` became required for the status `default`

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