API reference overview
Use the API to send user messages, manage sessions, and control conversations.
Base URL
https://channels.moveo.ai
Required headers
All endpoints require the following headers:
| Header | Value | Required |
|---|---|---|
Authorization | apikey YOUR_API_KEY | Yes |
Content-Type | application/json | Yes |
See setup guide for details on API key authentication and IP allowlisting.
Request correlation
Every response carries an X-Request-Id header. Log it — Moveo support uses it to trace a request end to end. If you send your own X-Request-Id on the request, Moveo reuses that value instead of generating one.
Most endpoints also return the identifier as request_id in the response body, and the same value appears on the webhook events triggered by that request. Get session context, add tags, and remove tags return it only in the header.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/custom/:integration_id/sessions | Create a new session. |
| GET | /v1/custom/:integration_id/sessions/:session_id/context | Read session context. |
| PATCH | /v1/custom/:integration_id/sessions/:session_id/context | Update session context. |
| PUT | /v1/custom/:integration_id/sessions/:session_id/context/tags | Add conversation tags. |
| DELETE | /v1/custom/:integration_id/sessions/:session_id/context/tags | Remove conversation tags. |
| POST | /v1/custom/:integration_id/sessions/:session_id/close | Close a session. |
| POST | /v1/custom/:integration_id/sessions/:session_id/messages | Send a user message. |
| POST | /v1/custom/:integration_id/sessions/:session_id/messages/agent | Send an agent message. |
| POST | /v1/custom/:integration_id/sessions/:session_id/messages/read | Mark messages as read. |
| POST | /v1/custom/:integration_id/sessions/:session_id/messages/delivered | Mark messages as delivered. |
| POST | /v1/custom/:integration_id/sessions/:session_id/conversation/close | Close (resolve) a conversation. |
| POST | /v1/custom/:integration_id/sessions/:session_id/conversation/reopen | Reopen a resolved conversation. |
| POST | /v1/custom/:integration_id/sessions/:session_id/handover | Hand over to a human agent. |
| POST | /v1/custom/:integration_id/sessions/:session_id/files/upload-url | Get a presigned file upload URL. |
| POST | /v1/custom/:integration_id/sessions/:session_id/files/download-url | Get a presigned file download URL. |