JSON-RPC

JSON-RPC 2.0 endpoint (all agent operations dispatch here)

Changed on

Every write or read operation on tasks, messages, and contexts uses this endpoint. The method field in the body selects the operation. See the Error catalog in the top-level description for every possible error.code.

Accepted methods: message/send, message/stream (experimental), tasks/get, tasks/list, tasks/cancel, tasks/feedback, contexts/list, contexts/clear.

Casing tolerance: the server accepts both camelCase (taskId) and snake_case (task_id) in params — pick one and stick with it per-call. Responses are always snake_case for legacy consistency (see bugs/known-issues.md#wire-field-casing-is-mixed).

Size limit: request bodies over 10 MB return 413 Payload Too Large at the ASGI layer (does not use the JSON-RPC error envelope).

Idempotency: message/send is NOT idempotent — a repeat call creates a new task. If you need idempotency, have your client generate a stable messageId and use contexts/list

  • tasks/list to check whether you've already sent it.
post/

Request

  • Base URL
    http://localhost:3773
  • Auth
    • HTTP bearer
    • or HTTP bearer and API key in header X-DID

Request body

jsonrpc'2.0' required
method'message/send' | 'message/stream' | 'tasks/get' | 'tasks/list' | 'tasks/cancel' | 'tasks/feedback' | 'contexts/list' | 'contexts/clear' required

Example request

{
  "params": {
    "configuration": {
      "acceptedOutputModes": [
        "application/json",
        "text/markdown"
      ]
    }
  }
}

Response

Successful JSON-RPC response. result contains the typed output per method — see components/schemas/*Result.

jsonrpc'2.0' required

Changes

    • breaking

      request property was restricted to a list of enum values

    • breaking

      the request property const value 2.0 was added

    • breaking

      removed the enum value 2.0 of the request property

    • breaking

      the request property type changed from object to no type

    • breaking

      response property id list-of-types was widened by adding types integer and null to media type application/json of response 200

    • breaking

      added subschema #2 subschema #3 to the response property oneOf list for the response status

    • breaking

      the response's property type changed from object to no type for status

    • info

      api operation id jsonRpcEndpoint removed and replaced with

    • info

      the endpoint scheme security bearerAuth was added to the API

    • info

      the endpoint scheme security bearerAuth AND didSignature was added to the API

    • info

      the endpoint scheme security BearerAuth was removed from the API

    • info

      added the new contexts/clear enum value to the request property

    • info

      added the new contexts/list enum value to the request property

    • info

      added the new message/send enum value to the request property

    • info

      added the new message/stream enum value to the request property

    • info

      added the new tasks/cancel enum value to the request property

    • info

      added the new tasks/feedback enum value to the request property

    • info

      added the new tasks/get enum value to the request property

    • info

      added the new tasks/list enum value to the request property

    • info

      request property list-of-types was widened by adding types integer to media type application/json

    • info

      added to the request property oneOf list

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      the response property / became required for the status

    • info

      the response property / became required for the status

    • info

      the response property const value 2.0 was added for the status

    • info

      removed the 2.0 enum value from the response property for the response status

    • breaking

      added the new required request property

    • breaking

      added the new required request property

    • breaking

      added the new required request property

    • breaking

      removed from the request body oneOf list

    • breaking

      the request's body type changed from no type to object

    • breaking

      the response's body type changed from no type to object for status

    • info

      added the new optional request property

    • info

      removed from the response body oneOf list for the response status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status