---
title: "Developers"
description: "Public API and discovery entry points for Communicate."
canonical: "https://communicate.so/developers"
last-updated: "2026-08-23"
---

# Developers

> Public API and discovery entry points for Communicate.

- **Canonical page:** https://communicate.so/developers
- **API base URL:** https://app.communicate.so/api/v1
- **OpenAPI schema:** https://communicate.so/openapi.json
- **Support:** communicate@support.communicate.so

## Discovery files

- [LLMs instructions](https://communicate.so/llms.txt)
- [API catalog](https://communicate.so/.well-known/api-catalog)
- [AI catalog draft](https://communicate.so/.well-known/ai-catalog.json)
- [Agent discovery](https://communicate.so/.well-known/agent.json)
- [Developer docs MCP server card](https://communicate.so/mcp/server-card)
- **Developer docs MCP endpoint:** https://communicate.so/mcp (public and read-only)
- [Agent skills index](https://communicate.so/.well-known/agent-skills/index.json)
- [Answer support questions skill](https://communicate.so/.well-known/agent-skills/answer-support-questions/SKILL.md)
- [OAuth authorization-server metadata](https://communicate.so/.well-known/oauth-authorization-server)
- [OAuth protected-resource metadata](https://communicate.so/.well-known/oauth-protected-resource)

## Public REST operations

The deployed public API currently exposes these operations at https://app.communicate.so/api/v1. For server-to-server access, exchange the workspace key ID and one-time ck_ secret at https://app.communicate.so/api/v1/oauth/token, then send the short-lived access token as Authorization: Bearer. Request only agents:read, chat:write, or the subset required. Direct ck_ bearer authentication remains supported for existing integrations.

- GET /agents returns an array of { id, name, status }, where status is active, inactive, or draft. The group limit is 600 requests per minute per key; excess requests return 429.
- POST /agents/{agentId}/chat accepts message (1–4000 characters), optional requestId (UUID idempotency key), and optional conversationId. It returns conversation/message identifiers, answer, citations (sourceId, title, snippet, url), mode (ai or human), and optional ticketNumber, actionName, and followUps. Chat is non-streaming and limited to 60 requests per minute per key; replaying requestId with different input returns 409.

A configured workspace action may run during a chat turn; actionName is included only when an action produced the final answer. The canonical OpenAPI 3.1 schema lists exact 400, 401, 402, 404, 409, 429, 500, and 503 error responses and payloads.

## Versioning and deprecation

The major API version is part of the URL. Backward-incompatible changes use a new major path. Deprecated operations remain available for at least 90 days and return the standard Deprecation and Sunset response headers before removal.

## Notes

This surface documents only the public docs and API URLs published today. The MCP endpoint exposes documentation resources and three read-only discovery tools; it does not access workspaces, customer data, or product actions. It does not claim a product-action MCP, an SDK, a CLI, or endpoints that are not linked here.
