--- outline: deep --- # AstrBot HTTP API Starting from v4.18.0, AstrBot provides API Key based HTTP APIs for programmatic access. ## Quick Start 1. Create an API key in WebUI - Settings. 2. Include the API key in request headers: ```http Authorization: Bearer abk_xxx ``` Also supported: ```http X-API-Key: abk_xxx ``` 3. For chat endpoints, `username` is required: - `POST /api/v1/chat`: request body must include `username` - `GET /api/v1/chat/sessions`: query params must include `username` ## Common Endpoints - `POST /api/v1/chat`: send chat message (SSE stream, server generates UUID when `session_id` is omitted) - `GET /api/v1/chat/sessions`: list sessions for a specific `username` with pagination - `GET /api/v1/configs`: list available config files - `POST /api/v1/file`: upload attachment - `POST /api/v1/im/message`: proactive message via UMO - `GET /api/v1/im/bots`: list bot/platform IDs ## Example ```bash curl -N 'http://localhost:7860/api/v1/chat' \ -H 'Authorization: Bearer abk_xxx' \ -H 'Content-Type: application/json' \ -d '{"message":"Hello","username":"alice"}' ``` ## Full API Reference Use the interactive docs: - https://docs.astrbot.app/scalar.html