JSON-RPC

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

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 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

Changed in 2 of the 12 revisions of this API.1329

  • 8a22dc180044723See the full diff
    • request property method was restricted to a list of enum values

      request-property-became-enum

    • the jsonrpc request property const value 2.0 was added

      request-property-const-added

    • removed the enum value 2.0 of the request property jsonrpc

      request-property-enum-value-removed

    • the params request property type/format changed from object/ to /

      request-property-type-changed

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

      response-property-list-of-types-widened

    • added Task TasksFeedbackResult ContextsClearResult subschema #2 subschema #3 to the result response property oneOf list for the response status 200

      response-property-one-of-added

    • the result response's property type/format changed from object/ to / for status 200

      response-property-type-changed

    • api operation id jsonRpcEndpoint removed and replaced with

      api-operation-id-removed

    • the endpoint scheme security bearerAuth was added to the API

      api-security-added

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

      api-security-added

    • the endpoint scheme security BearerAuth was removed from the API

      api-security-removed

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

      request-property-enum-value-added

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

      request-property-enum-value-added

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

      request-property-enum-value-added

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

      request-property-enum-value-added

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

      request-property-enum-value-added

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

      request-property-enum-value-added

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

      request-property-enum-value-added

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

      request-property-enum-value-added

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

      request-property-list-of-types-widened

    • added MessageSendParams TasksGetParams TasksListParams TasksCancelParams TasksFeedbackParams ContextsListParams ContextsClearParams to the params request property oneOf list

      request-property-one-of-added

    • added the non-success response with the status 400

      response-non-success-status-added

    • added the non-success response with the status 401

      response-non-success-status-added

    • added the non-success response with the status 403

      response-non-success-status-added

    • added the non-success response with the status 413

      response-non-success-status-added

    • added the non-success response with the status 500

      response-non-success-status-added

    • the response property error/code became required for the status 200

      response-property-became-required

    • the response property error/message became required for the status 200

      response-property-became-required

    • the jsonrpc response property const value 2.0 was added for the status 200

      response-property-const-added

    • removed the 2.0 enum value from the jsonrpc response property for the response status 200

      response-property-enum-value-removed

    This revision also has 21 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • aec28fa7bf8166See the full diff
    • added the new required request property id

      new-required-request-property

    • added the new required request property jsonrpc

      new-required-request-property

    • added the new required request property method

      new-required-request-property

    • removed MessageSendRequest TasksGetRequest TasksListRequest TasksCancelRequest TasksFeedbackRequest ContextsListRequest ContextsClearRequest from the request body oneOf list

      request-body-one-of-removed

    • the request's body type/format changed from / to object/

      request-body-type-changed

    • the response's body type/format changed from / to object/ for status 200

      response-body-type-changed

    • added the new optional request property params

      new-optional-request-property

    • removed JsonRpcSuccessResponse JsonRpcErrorResponse from the response body oneOf list for the response status 200

      response-body-one-of-removed

    • added the optional property error to the response with the 200 status

      response-optional-property-added

    • added the optional property result to the response with the 200 status

      response-optional-property-added

    • added the required property id to the response with the 200 status

      response-required-property-added

    • added the required property jsonrpc to the response with the 200 status

      response-required-property-added