Generated from the live OpenAPI document — 2026-10-19.The channels guide explains this surface in context.All routes require Authorization: Bearer atamaia_… and return ApiEnvelope<T>({ ok, requestId, data, error, errorCode, count, hint }); the schemas below show thedata payload. * marks required properties.
See also: Channels setup — Slack, end to end
Operations
| Method | Path | Summary / body | Responses |
|---|---|---|---|
| GET | /api/channels/adapters | Adapters available on this deployment — only those whose operations are implemented are listed. | 200 ChannelAdapterInfo[] |
| GET | /api/channels/bindings | List channel bindings (paged). | 200 PagedResultOfChannelBindingDto |
| POST | /api/channels/bindings | Route an external channel to an identity. The binding's sender allowlist is the delivery gate and its wake rule the spend gate. | 200 ChannelBindingDto |
| GET | /api/channels/bindings/{bindingId}/mappings | Message mappings for a binding — the external-to-internal thread anchor table. | 200 PagedResultOfChannelMessageMappingDto |
| DELETE | /api/channels/bindings/{id} | Delete a binding. Existing message mappings are kept for thread resolution. | 200 |
| GET | /api/channels/bindings/{id} | One channel binding. | 200 ChannelBindingDto |
| PUT | /api/channels/bindings/{id} | Update a binding's routing, sender allowlist, or wake rule. | 200 ChannelBindingDto |
| POST | /api/channels/send | Send a message out through a binding — decrypts credentials, records the mapping, publishes the outbound event. Decrypt fails closed. | 200 ChannelSendResult |
| POST | /api/channels/webhook/{connectorGuid} | Platform delivery webhook — anonymous by design. Signature-verified fail-closed before any binding is processed; deliveries are deduplicated per binding on the external message id; a rejected delivery is "ignored", never a 401, so a vendor retry is not bounced on auth. | 200 |
Schemas
Request and response shapes referenced by the operations above. Nested types named here are also defined under their own group or inthe group index.
ChannelBindingDto
| Property | Type | Description |
|---|---|---|
| id | int64 | |
| guid | uuid | |
| name | string | |
| adapterTypeKey | string | |
| externalChannelId | string | |
| connectorName | null,string | |
| identityName | null,string | |
| direction | ChannelDirection | |
| enabled | boolean | |
| connectorId | int64 | |
| identityId | int64 | |
| botExternalUserId | null,string | |
| allowedSendersJson | null,string | |
| triggerRuleJson | null,string | |
| createdAtUtc | date-time | |
| updatedAtUtc | date-time |
ChannelSendResult
| Property | Type | Description |
|---|---|---|
| success | boolean | |
| externalMessageId | null,string | |
| error | null,string |
PagedResultOfChannelBindingDto
| Property | Type | Description |
|---|---|---|
| items* | ChannelBindingDto[] | |
| totalCount | int32 | |
| page | int32 | |
| pageSize | int32 | |
| hasTotal | boolean | |
| moreAvailable | null,boolean | |
| totalPages | int32 | |
| hasNextPage | boolean | |
| hasPreviousPage | boolean |
PagedResultOfChannelMessageMappingDto
| Property | Type | Description |
|---|---|---|
| items* | ChannelMessageMappingDto[] | |
| totalCount | int32 | |
| page | int32 | |
| pageSize | int32 | |
| hasTotal | boolean | |
| moreAvailable | null,boolean | |
| totalPages | int32 | |
| hasNextPage | boolean | |
| hasPreviousPage | boolean |