communicate-so Workspaces API
The Workspaces API from communicate-so — 79 operation(s) for workspaces.
Operations 95
POST
/workspaces/{workspaceId}/contacts
Create a standalone workspace contact; restricted-agent members cannot create…
#
GET
/workspaces/{workspaceId}/contacts
Search and page accessible contact profiles without hidden-agent totals
#
DELETE
/workspaces/{workspaceId}/contacts/{contactId}
Remove a directory profile while retaining historical conversations; this is…
#
GET
/workspaces/{workspaceId}/contacts/{contactId}
Read a contact profile and only the conversations visible to this member
#
PATCH
/workspaces/{workspaceId}/contacts/{contactId}
Edit supplied contact fields; restricted members cannot edit profiles shared…
#
POST
/workspaces/{workspaceId}/support-requests/merge
Merge duplicate support requests at their expected versions
#
POST
/workspaces/{workspaceId}/support-requests/{requestId}/split
Split a support request into separate goals by message
#
POST
/workspaces/{workspaceId}/support-requests/{requestId}/transitions
Activate, wait, end or reopen a support request at its expected version
#
POST
/workspaces/{workspaceId}/support-requests/{requestId}/evidence
Attach a verified resolution receipt to a support request
#
POST
/workspaces/{workspaceId}/support-requests/{requestId}/sla/bind
Bind the matching SLA policy to a support request
#
POST
/workspaces/{workspaceId}/support-requests/{requestId}/sla/milestones
Record an SLA milestone for a support request reply
#
GET
/workspaces/{workspaceId}/support-requests/{requestId}/sla/clocks/{kind}
Read one SLA clock for a support request
#
POST
/workspaces/{workspaceId}/labels
Create a workspace label with a hex color or color token name
#
DELETE
/workspaces/{workspaceId}/labels/{labelId}
Delete a workspace label and remove it from every conversation
#
GET
/workspaces/{destinationWorkspaceId}/linked-conversations
List conversations on agents shared with this workspace
#
GET
/workspaces/{destinationWorkspaceId}/linked-conversations/counts
Count linked conversations by status
#
GET
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}
Read one linked conversation with its messages
#
PATCH
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}
Open, close, snooze or mark a linked conversation spam
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/read
Mark a linked conversation read for the caller
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/copilot
Draft, summarise or answer from a linked thread without sending anything…
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/copilot/endorse
Record that a teammate used a learning-backed copilot suggestion in a linked…
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/attachments/presign
Stage a linked reply attachment and return a short-lived upload URL; unusable…
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/attachments/confirm
Verify and scan an uploaded linked reply attachment
#
GET
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/attachments/{attachmentId}/url
Return a short-lived download URL for an attachment on a linked conversation
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/messages
Send a teammate reply in a linked conversation
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/messages/{messageId}/undo
Undo a queued linked reply before it sends
#
PATCH
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/messages/{messageId}
Edit a queued linked reply
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/messages/{messageId}/retry
Retry a failed linked reply
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/notes
Add an internal note to a linked conversation
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/labels/{labelId}
Add a source label to a linked conversation
#
DELETE
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/labels/{labelId}
Remove a source label from a linked conversation
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/assign
Assign a linked conversation to the caller or a teammate
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/takeover
Take a linked conversation over from the AI
#
POST
/workspaces/{destinationWorkspaceId}/linked-conversations/{conversationId}/actions/{actionId}/run
Run an allowed action in a linked conversation
#
POST
/workspaces/{workspaceId}/conversations
Start a conversation with a contact and send the first message
#
GET
/workspaces/{workspaceId}/conversations/{conversationId}
Read one conversation with its messages
#
PATCH
/workspaces/{workspaceId}/conversations/{conversationId}
Open or close a conversation; active support requests need dispositions or force
#
GET
/workspaces/{workspaceId}/custom-domains
List custom domains with the DNS records each still needs
#
POST
/workspaces/{workspaceId}/custom-domains
Register a custom domain for an agent on a paid workspace
#
POST
/workspaces/{workspaceId}/custom-domains/{domainId}/verify
Check DNS now and mark the custom domain verified when it matches
#
DELETE
/workspaces/{workspaceId}/custom-domains/{domainId}
Remove a custom domain; one that ever served traffic is parked until DNS moves…
#
PATCH
/workspaces/{workspaceId}/webhooks/{webhookId}
Pause, resume or change the events of a webhook
#
GET
/workspaces/{workspaceId}/analytics/insights
Read cached topic and sentiment insights for one agent; never spends credits
#
GET
/workspaces/{workspaceId}/billing/purchases
Read whether the workspace has bought before, for checkout copy
#
GET
/workspaces/{destinationWorkspaceId}/linked-analytics
Read conversation analytics for agents shared with this workspace
#
GET
/workspaces/{destinationWorkspaceId}/linked-analytics/insights
Read cached insights for a linked agent; never spends credits
#
GET
/workspaces/{destinationWorkspaceId}/linked-agents
List agents other workspaces share with this workspace
#
GET
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/settings
Read the settings a Manage grant may change
#
GET
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/actions
List actions on a Manage-linked agent
#
PATCH
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/settings/ai
Change prompt, model or temperature on a Manage-linked agent
#
PATCH
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/settings/widget
Change widget settings on a Manage-linked agent
#
PATCH
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/settings/pause
Pause or resume a Manage-linked agent
#
PATCH
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/actions/{actionId}
Edit an action on a Manage-linked agent
#
POST
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/unlink
Remove a linked agent from this workspace
#
POST
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/member-assignments
Give a teammate access to a linked agent
#
DELETE
/workspaces/{destinationWorkspaceId}/linked-agents/{grantId}/member-assignments/{memberId}
Remove a teammate from a linked agent
#
GET
/workspaces/{workspaceId}/api-keys
List workspace API keys by prefix; tokens are never returned
#
DELETE
/workspaces/{workspaceId}/api-keys/{keyId}/permanent
Permanently remove an already-revoked workspace API key
#
POST
/workspaces/{workspaceId}/billing/topups/checkout
Start a hosted checkout for a credit top-up pack
#
POST
/workspaces/{workspaceId}/billing/change
Change the subscription plan; may charge the saved card
#
POST
/workspaces/{workspaceId}/billing/payment-method
Start the hosted flow to replace the saved card
#
GET
/workspaces/{workspaceId}/compliance/export
Export every conversation, message and contact in the workspace
#
DELETE
/workspaces/{workspaceId}/compliance/conversations
Permanently erase every conversation in the workspace
#
DELETE
/workspaces/{workspaceId}/support-requests/{requestId}/evidence/{evidenceId}/payload
Permanently erase one evidence payload from a support request
#
POST
/workspaces/{workspaceId}/analytics/insights/refresh
Recompute topic and sentiment insights for one agent; spends credits
#
POST
/workspaces/{destinationWorkspaceId}/linked-analytics/insights/refresh
Recompute insights for a linked agent; spends credits
#
Specifications
⚙
OpenAPI
https://artifacts.apis.io/communicate-so/openapi/communicate-so-workspaces-api-openapi.yml
Schemas & Data
📊
JSONSchema
https://artifacts.apis.io/communicate-so/json-schema/communicate-so-read-inbox-conversation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/communicate-so/json-schema/communicate-so-list-workspace-agents-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/communicate-so/json-schema/communicate-so-create-agent-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/communicate-so/json-schema/communicate-so-duplicate-agent-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/communicate-so/json-schema/communicate-so-fetch-agent-logo-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/communicate-so/json-schema/communicate-so-read-agent-response-schema.json