← Docs

API reference

Every endpoint below takes a workspace API key as a bearer token:

Authorization: Bearer YOUR_WORKSPACE_API_KEY

Generate the key in workspace settings. It scopes to one workspace. An empty key means the API is disabled for that workspace.

These are the same endpoints Murphy's MCP server exposes, so a coding agent can work your support queue without a browser.

List tickets

GET /api/v1/tickets?status=open&limit=25

status is open (default), resolved, or all. limit caps at 100.

Read one ticket

GET /api/v1/case?id=123

Returns the full transcript, the visitor's identity, the channel it arrived on, and any outbound email still pending. Everything an agent needs to work the ticket in one call.

Act on a ticket

POST /api/v1/resolve
{ "id": 123, "reply": "...", "resolutionNote": "...", "resolve": true }

All fields past id are optional.

  • reply goes to the customer. On an email ticket it queues an outbound email that supersedes any pending draft; on chat it posts as an agent message.
  • resolutionNote is internal, stored on the conversation as an audit trail.
  • resolve: true archives the conversation.

Push a knowledge doc

POST /api/v1/knowledge
{ "title": "Refund policy", "slug": "refund-policy", "content": "# ...", "published": false }

Content is markdown, 200KB max. The slug is derived from the title when you omit it. Pushing the same slug again replaces that doc and re-embeds it, so this is safe to run on every deploy.

published controls whether the doc appears on your public help center. It defaults to false, and re-syncing a doc without the field leaves the current visibility alone, so a routine content sync never publishes something by accident.

GET /api/v1/knowledge

Lists your docs with their slug, title, published state, and last update.

Dispatch a ticket to your repo

POST /api/v1/dispatch
{ "id": 123 }

Opens a GitHub issue on the workspace repo for the ticket, so a coding agent can pick it up. Holding the API key is the approval. See Dispatch.

GET /api/v1/dispatchConfig

Returns the GitHub webhook settings for the workspace, so an agent can finish Dispatch setup without the dashboard.