Channel API
Invoke custom ingress, inspect deployed Channels, send outbound messages, and read receipts and events.
Ingress and built-in adapters
| Method | Path | Purpose |
|---|---|---|
ANY | /v1/channels/:tenant/:namespace/:channel/* | Invoke a deployed custom public Channel through its Auth Provider |
POST | /v1/chat/completions | OpenAI Chat Completions adapter |
POST | /v1/messages | Anthropic Messages adapter |
Custom ingress authentication is defined by the Channel’s exact Auth Provider. Constal lazily materializes the OpenAI and Anthropic adapters, plus their platform API-key Auth Provider, as canonical tenant Resources; they appear on authenticated discovery or first use without a tenant package deployment. Their model field may choose only among Agents that explicitly opt in with channels.constal.ai/openai=enabled or channels.constal.ai/anthropic=enabled and are matched by that Channel's selector.
Discovery and operation
All namespace endpoints begin /v1/namespaces/:namespace.
| Method | Suffix | Purpose |
|---|---|---|
GET | /channels | List deployed Channels |
GET | /channels/:channel | Read endpoint, protocol, Agent selector and matches, Auth Provider, capabilities, and deployment |
POST | /channels/:channel/messages | Send one outbound SDK ChannelMessage |
GET | /channels/:channel/messages/:messageId | Read a durable delivery receipt |
GET | /channels/:channel/events | Read bounded Channel events |
The Channel package must declare optional send before outbound messages. Delivery ids are stable idempotency identities managed by Constal. Raw Credential values never appear in these API responses. See Build Channels and Auth Providers for executable contracts and Operate Channels for troubleshooting.