Delete a legacy dashboard channel
Legacy direct dashboard operation. The native lifecycle web service always returns 403 before reading the body because it has no channel-purger authority. Check channelDeleteSupported in /api/meta. A legacy instance deletes one concrete canonical channel and its content using its configured purger authority. Wildcards, aliases and missing channels are refused. The body limit is 8192 bytes. JSON is parsed without a Content-Type check. Other methods fall through to 404.
cotal_web_session<token>Process-local dashboard session issued by the one-use launch URL.
application/json- body
channel*string1 <= lengthChannel content was purged and its configuration removed as reported.
application/json- response
ok*unknownchannel*stringpurged*integer0 <= valueremoved*booleancurl -X POST 'http://127.0.0.1:7799/api/channel/delete' \ -H 'Content-Type: application/json' \ -d '{ "channel": "general"}'{ "ok": true, "channel": "string", "purged": 0, "removed": true}See the HTTP interface overview for authentication and access requirements.
Complete HTTP contract
Endpoint
POST /api/channel/deleteLegacy direct dashboard operation. The native lifecycle web service always returns 403 before reading the body because it has no channel-purger authority. Check channelDeleteSupported in /api/meta. A legacy instance deletes one concrete canonical channel and its content using its configured purger authority. Wildcards, aliases and missing channels are refused. The body limit is 8192 bytes. JSON is parsed without a Content-Type check. Other methods fall through to 404.
Parameters
No operation parameters.
Request body
The request uses the schema below.
Required: yes.
Content type: application/json.
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1
}
},
"required": [
"channel"
]
}Example:
{
"channel": "general"
}Responses
HTTP 200
Channel content was purged and its configuration removed as reported.
Content type: application/json.
{
"$ref": "#/components/schemas/ChannelDeleted"
}HTTP 302
A valid one-use k query token is exchanged for a dashboard session. The response redirects to the same path without its query. A valid existing cookie takes precedence over k.
Location: The requested path without the query string.
Set-Cookie: cotal_web_session=<session>; Path=/; HttpOnly; SameSite=Strict. The default local listener uses HTTP.
HTTP 400
Missing or non-canonical channel, malformed JSON, or deletion refusal.
Content type: application/json.
{
"$ref": "#/components/schemas/Error"
}HTTP 401
No valid session, an invalid launch token, or a spent launch token. The readiness credential does not authorize these routes.
Content type: application/json.
{
"$ref": "#/components/schemas/AuthenticationError"
}Example:
{
"error": "unauthenticated"
}HTTP 403
A browser origin was refused, or the native service is configured read-only. A read-only refusal includes code PERMISSION_DENIED.
Content type: application/json.
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"PERMISSION_DENIED"
]
}
},
"required": [
"error"
]
}HTTP 413
These read routes accept no request body. An announced body is refused before it is read; the connection is closed.
Content type: application/json.
{
"$ref": "#/components/schemas/Error"
}HTTP 500
The request failed. The body names the failure; a failed read does not terminate the dashboard.
Content type: application/json.
{
"$ref": "#/components/schemas/Error"
}Authentication and access: HTTP interface of the @cotal-ai/web reference implementation. This description covers read operations, readiness metadata and the legacy channel deletion route; it does not establish a separate stable product or Cloud management API. Start the dashboard using the web service preset described in the operator guide. The server defaults to 127.0.0.1:7799; use the host and port configured for your dashboard.
Open the owner-private launch URL once to exchange its k query token for the cotal_web_session cookie. Keep the session on the same host. With the default bind, the permitted browser origins are http://127.0.0.1:<port>, http://localhost:<port> and http://cotal.localhost:<port>. A custom host uses its own HTTP origin. A cross-origin request is refused before session checks. The readiness nonce only opens /api/meta.
Read operations use GET and take no request body. Some read handlers also accept other bodyless methods; this description does not promise a 405 response for them. The native web service is read-only and always refuses channel deletion with 403. Legacy direct dashboard instances can enable deletion; /api/meta reports channelDeleteSupported. Description version 1 identifies this document, not the wire or npm package version.
OpenAPI specification contains the referenced response schemas. Complete Markdown reference.