Community structure
Community structure endpoints of the Zanfia Workspace API, with schemas and code samples.
Channel and group management. Community content — posts, comments, chat — lives on the Community API. All routes require a Authorization: Bearer header — see Authentication.
Create a channel
/communities/{communityId}/channelsAuthorization
bearerAuth API key from Dashboard → Integrations → API, MCP and CLI.
In: header
Path Parameters
Community id
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/communities/string/channels" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "type": "feed" }'{ "channel": { "id": "string", "name": "string", "type": "feed", "groupId": "string", "description": "string", "readonly": true, "access": "inherit" }}{ "error": "string"}Create a channel group
/communities/{communityId}/groupsAuthorization
bearerAuth API key from Dashboard → Integrations → API, MCP and CLI.
In: header
Path Parameters
Community id
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/communities/string/groups" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "group": { "id": "string", "name": "string", "description": "string" }}{ "error": "string"}Update a channel
/communities/{communityId}/channels/{channelId}Authorization
bearerAuth API key from Dashboard → Integrations → API, MCP and CLI.
In: header
Path Parameters
Community id
Channel id
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/communities/string/channels/string" \ -H "Content-Type: application/json" \ -d '{}'{ "channel": { "id": "string", "name": "string", "type": "feed", "groupId": "string", "description": "string", "readonly": true, "access": "inherit" }}{ "error": "string"}Delete a channel
/communities/{communityId}/channels/{channelId}Authorization
bearerAuth API key from Dashboard → Integrations → API, MCP and CLI.
In: header
Path Parameters
Community id
Channel id
Response Body
application/json
application/json
curl -X DELETE "https://example.com/communities/string/channels/string"{ "channelId": "string"}{ "error": "string"}Update a group
/communities/{communityId}/groups/{groupId}Authorization
bearerAuth API key from Dashboard → Integrations → API, MCP and CLI.
In: header
Path Parameters
Community id
Channel group id
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/communities/string/groups/string" \ -H "Content-Type: application/json" \ -d '{}'{ "group": { "id": "string", "name": "string", "description": "string" }}{ "error": "string"}Delete a group
/communities/{communityId}/groups/{groupId}Authorization
bearerAuth API key from Dashboard → Integrations → API, MCP and CLI.
In: header
Path Parameters
Community id
Channel group id
Response Body
application/json
application/json
curl -X DELETE "https://example.com/communities/string/groups/string"{ "groupId": "string"}{ "error": "string"}Reorder or re-parent a channel/group
/communities/{communityId}/move-nodeAuthorization
bearerAuth API key from Dashboard → Integrations → API, MCP and CLI.
In: header
Path Parameters
Community id
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Flat mirror of the MoveContentNode intent (one node + one target per call).
Response Body
application/json
application/json
curl -X POST "https://example.com/communities/string/move-node" \ -H "Content-Type: application/json" \ -d '{ "nodeType": "channel", "nodeId": "string", "positionMode": "into-group" }'{ "communityId": "string"}{ "error": "string"}Was this article helpful?

