PRE-ALPHA: INTERFACE SUBJECT TO CHANGE WITHOUT NOTICE
The murmur REST API lets you spawn agents, track their progress, manage their task lists, and read and write catalog resources from any HTTP client. Every operation is a plain HTTP+JSON endpoint.
Base URL
Requests and responses are application/json. Field names are lowerCamelCase, enums are strings, 64-bit integers are strings, and binary values are base64 strings.
Authentication
Authenticate every request with a murmur API key:
Agent identity
Agent identity in every payload is the structured agentId object: a workspace plus the agent path array — one element for a root agent, more for children:
You only need workspace and the agent path — murmur fills in your tenant and account automatically from the authenticated caller. Anything you set explicitly is passed through exactly as you sent it.
Agent-scoped operations use POST with the agentId in the JSON body — reads and mutations alike:
Errors
Errors return a consistent JSON body: a numeric code, a human-readable message, and optional machine-readable details:
The code value and the HTTP status always correspond:
Catalog payloads are base64-encoded JSON
The catalog endpoints carry the resource document in a payload field as a base64-encoded JSON document — decode it on read, encode it on write:
Blocking on completion
POST /v1/agent/wait blocks until the agent needs attention — it finishes, fails, or comes to rest waiting for input. Bound the wait with your client’s timeout:
Disconnecting cancels the server-side call.