# Senden API

Vendor-neutral integration context. Base: https://api-senden.ru/api/v1
Authorization: named Senden bearer key from SENDEN_API_KEY; never paste secrets into an AI prompt.
Read README.txt and ai-context.json, then use GET /api/v1/integrations/manifest as primary discovery: full HTTP commands, safe workspace instances, connectedMessengers and permissions.
GET /api/v1/methods contains only the native-operation subset; it is not the complete HTTP catalog.
Node getManifest()/getCommands() and Python get_manifest()/get_commands() expose manifest discovery; running either client makes one manifest GET only.
Select only connected instances and real chat IDs from GET /api/v1/instances/{id}/chats.
No automatic sends, authentication, uploads, notification leases or retries. Require explicit user authorization before each mutation.
Sending/native mutations require one stable Idempotency-Key (8..128 characters).202/queued/submitted != delivered/read.
Unknown delivery outcomes must not be replayed with a new key. MAX lookup chatId is currently a user ID, not a private-chat destination.
Full schema: openapi.json; bearer/public route list: ai-context.json; optional clients: senden-node.mjs and senden-python.py.
Cookie-only account/admin routes are outside API-key integrations. All examples contain placeholders only.
