Daemon HTTP surface¶
Base path: /v1
Status and webhook¶
Browse endpoints¶
GET /chats
GET /chats/{chat_ref}
GET /messages?chat_ref=&search=&media_kind=&limit=
GET /messages/{message_ref}
GET /updates?kind=&source=&status=&limit=
GET /updates/{update_ref}
GET /callbacks?message_ref=&answered=&limit=
GET /callbacks/{callback_ref}
GET /media?message_ref=&chat_ref=&media_kind=&download_status=&limit=
GET /media/{media_ref}
GET /actions?subject_ref=&action_kind=&limit=
GET /actions/{action_ref}
Ingest¶
Body:
Outbound actions¶
POST /actions/send-text
POST /actions/send-photo
POST /actions/send-document
POST /actions/reply
POST /actions/react
POST /actions/ack
POST /actions/delete
POST /actions/pin
POST /actions/unpin
Polling¶
POST /poll/once
GET /poll/schedules
POST /poll/schedules
POST /poll/schedules/run-due
GET /poll/runs
Notes:
POST /poll/schedulesis purely local DB state and does not require a live token.POST /poll/onceandPOST /poll/schedules/run-duerequirebot_token.GET /status?live=truealso requiresbot_token; it does not silently fall back to offline status.- Poll intervals must be positive, timeout must be non-negative, and Telegram limits must be between 1 and 100.
- Browse endpoint
limitvalues must be between 1 and 1000. - When
CALL_BAXTER_INGRESS_TOKENis configured, bearer authentication is required on every/v1/*endpoint and the authentication scheme is parsed case-insensitively. GET /healthzreturns a simple daemon health probe.