> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.videogen.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.videogen.io/_mcp/server.

# Send an assistant message

POST https://api.videogen.io/v1/assistants/{assistantId}/messages
Content-Type: application/json

Sends a follow-up message to an existing assistant chat started with `POST /v1/assistants`. Asynchronous: the response contains the `messageId` of the assistant's pending reply. Poll `GET /v1/assistant-messages/{messageId}` until `status` is terminal, or subscribe to `assistant_message.*` webhooks.

Reference: https://docs.videogen.io/rest-api-reference/assistant/send-assistant-message

## Authentication

- `Authorization` header (bearer token, required) — API key from [app.videogen.io/api](https://app.videogen.io/api). The full key is only shown once when you create it.

## Request

### Path parameters

- `assistantId` (string, required) — The assistant chat id (e.g. `vg_asst_...`). Every API project has one assistant chat; find it on `ProjectResponse.assistantId`.

### Body (application/json)

This endpoint expects a SendAssistantMessageRequest.

- `message` (string, required) — The message to send to the assistant in this project chat.

## Response

### 202

Assistant message accepted.

- `messageId` (string, required) — Opaque assistant message id for the pending assistant reply (e.g. `vg_mesg_...`). Poll `GET /v1/assistant-messages/{messageId}`.

## Examples

**Request**

```json
{
  "message": "Make it more upbeat and add captions"
}
```

**Response**

```json
{
  "messageId": "string"
}
```

**SDK Code**

```python
import requests

url = "https://api.videogen.io/v1/assistants/assistantId/messages"

payload = { "message": "Make it more upbeat and add captions" }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```