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.
Request body
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.
Changes
Changed in 2 of the 12 revisions of this API.1329
- ▲
request property
methodwas restricted to a list of enum valuesrequest-property-became-enum
- ▲
the
jsonrpcrequest property const value2.0was addedrequest-property-const-added
- ▲
removed the enum value
2.0of the request propertyjsonrpcrequest-property-enum-value-removed
- ▲
the
paramsrequest property type/format changed fromobject/to/request-property-type-changed
- ▲
response property
idlist-of-types was widened by adding typesinteger and nullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
added
TaskTasksFeedbackResultContextsClearResultsubschema #2subschema #3to theresultresponse propertyoneOflist for the response status200response-property-one-of-added
- ▲
the
resultresponse's property type/format changed fromobject/to/for status200response-property-type-changed
- ○
api operation id
jsonRpcEndpointremoved and replaced withapi-operation-id-removed
- ○
the endpoint scheme security
bearerAuthwas added to the APIapi-security-added
- ○
the endpoint scheme security
bearerAuth AND didSignaturewas added to the APIapi-security-added
- ○
the endpoint scheme security
BearerAuthwas removed from the APIapi-security-removed
- ○
added the new
contexts/clearenum value to the request propertymethodrequest-property-enum-value-added
- ○
added the new
contexts/listenum value to the request propertymethodrequest-property-enum-value-added
- ○
added the new
message/sendenum value to the request propertymethodrequest-property-enum-value-added
- ○
added the new
message/streamenum value to the request propertymethodrequest-property-enum-value-added
- ○
added the new
tasks/cancelenum value to the request propertymethodrequest-property-enum-value-added
- ○
added the new
tasks/feedbackenum value to the request propertymethodrequest-property-enum-value-added
- ○
added the new
tasks/getenum value to the request propertymethodrequest-property-enum-value-added
- ○
added the new
tasks/listenum value to the request propertymethodrequest-property-enum-value-added
- ○
request property
idlist-of-types was widened by adding typesintegerto media typeapplication/jsonrequest-property-list-of-types-widened
- ○
added
MessageSendParamsTasksGetParamsTasksListParamsTasksCancelParamsTasksFeedbackParamsContextsListParamsContextsClearParamsto theparamsrequest propertyoneOflistrequest-property-one-of-added
- ○
added the non-success response with the status
400response-non-success-status-added
- ○
added the non-success response with the status
401response-non-success-status-added
- ○
added the non-success response with the status
403response-non-success-status-added
- ○
added the non-success response with the status
413response-non-success-status-added
- ○
added the non-success response with the status
500response-non-success-status-added
- ○
the response property
error/codebecame required for the status200response-property-became-required
- ○
the response property
error/messagebecame required for the status200response-property-became-required
- ○
the
jsonrpcresponse property const value2.0was added for the status200response-property-const-added
- ○
removed the
2.0enum value from thejsonrpcresponse property for the response status200response-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
- ▲
- ▲
added the new required request property
idnew-required-request-property
- ▲
added the new required request property
jsonrpcnew-required-request-property
- ▲
added the new required request property
methodnew-required-request-property
- ▲
removed
MessageSendRequestTasksGetRequestTasksListRequestTasksCancelRequestTasksFeedbackRequestContextsListRequestContextsClearRequestfrom the request bodyoneOflistrequest-body-one-of-removed
- ▲
the request's body type/format changed from
/toobject/request-body-type-changed
- ▲
the response's body type/format changed from
/toobject/for status200response-body-type-changed
- ○
added the new optional request property
paramsnew-optional-request-property
- ○
removed
JsonRpcSuccessResponseJsonRpcErrorResponsefrom the response bodyoneOflist for the response status200response-body-one-of-removed
- ○
added the optional property
errorto the response with the200statusresponse-optional-property-added
- ○
added the optional property
resultto the response with the200statusresponse-optional-property-added
- ○
added the required property
idto the response with the200statusresponse-required-property-added
- ○
added the required property
jsonrpcto the response with the200statusresponse-required-property-added
- ▲