Channel API

Invoke custom ingress, inspect deployed Channels, send outbound messages, and read receipts and events.

Ingress and built-in adapters

MethodPathPurpose
ANY/v1/channels/:tenant/:namespace/:channel/*Invoke a deployed custom public Channel through its Auth Provider
POST/v1/chat/completionsOpenAI Chat Completions adapter
POST/v1/messagesAnthropic 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.

MethodSuffixPurpose
GET/channelsList deployed Channels
GET/channels/:channelRead endpoint, protocol, Agent selector and matches, Auth Provider, capabilities, and deployment
POST/channels/:channel/messagesSend one outbound SDK ChannelMessage
GET/channels/:channel/messages/:messageIdRead a durable delivery receipt
GET/channels/:channel/eventsRead 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.