Skip to content

Send a standard A2A JSON-RPC request

POST
/a2a
curl --request POST \
--url https://a2a.infiniteaudience.ai/a2a \
--header 'A2A-Version: 1.0' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "jsonrpc": "2.0", "id": "example", "method": "example", "params": { "message": { "messageId": "example", "role": "example", "parts": [ {} ] }, "metadata": { "skill": "example", "campaign_id": "example" }, "configuration": { "returnImmediately": true }, "id": "example" } }'

A2A 1.0 JSON-RPC accepts SendMessage, SendStreamingMessage, GetTask, CancelTask, and SubscribeToTask. A2A 0.3 accepts message/send, message/stream, tasks/get, tasks/cancel, and tasks/resubscribe. Streaming methods return server-sent events. For SendMessage, send an advertised skill id as params.metadata.skill; an omitted skill is restricted to general discovery. Requires ‘discovery’ scope for unhinted requests and discovery skills, ‘creator’ scope for matching, audience mutation and delivery skills, or ‘account’ scope for read-only account-info. Task reads and cancellation are restricted to the owning organization. Credit-purchase, portal and organization-administration skills are unavailable on public A2A.

A2A-Version
string
Allowed values: 1.0 0.3
Media typeapplication/json
object
jsonrpc
required
string
Allowed value: 2.0
id
required
One of:
string
method
required
string
params
required
object
message
object
messageId
string
role
string
parts
Array<object>
object
key
additional properties
any
key
additional properties
any
metadata
object
skill
string
campaign_id
string
key
additional properties
any
configuration
object
returnImmediately
boolean
key
additional properties
any
id
string
key
additional properties
any

JSON-RPC result/error envelope or SSE stream.

object
jsonrpc
required
string
Allowed value: 2.0
id
required
One of:
string
result
object
key
additional properties
any
error
object
key
additional properties
any
Example
{
"jsonrpc": "2.0"
}

Invalid request — malformed body, missing required attribute, or failed validation. See error and message for details.

Media typeapplication/json
object
error
required

Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.

string
message

Human-readable explanation of the error.

string
code

Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.

string
request_id

Opaque support/debug identifier when available.

string
next_step

Public action for correcting the request or retrying later.

string
issues
Array<object>
object
path
required

JSON path to the invalid filter field or value.

string
code
required
string
Allowed values: INVALID_FILTER_SHAPE UNKNOWN_FILTER_FIELD FIELD_NOT_FILTERABLE UNSUPPORTED_FILTER_OPERATOR UNSUPPORTED_TEXT_COMPARISON INVALID_FILTER_VALUE INVALID_ENUM_VALUE AMBIGUOUS_ENUM_VALUE
message
required
string
suggestions
Array<string>
key
additional properties
any
Examples
Examplevalidation_error
{
"error": "Bad Request",
"code": "MISSING_SEGMENTS",
"message": "segment_ids is required for filter audiences."
}

Missing or invalid Bearer token. Obtain one via POST /v1/auth/token. When a token was supplied but rejected, code distinguishes TOKEN_EXPIRED (the token’s lifetime has passed — request a new one via POST /v1/auth/token and retry) from TOKEN_INVALID (malformed or revoked — re-authenticate).

Media typeapplication/json
object
error
required

Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.

string
message

Human-readable explanation of the error.

string
code

Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.

string
request_id

Opaque support/debug identifier when available.

string
next_step

Public action for correcting the request or retrying later.

string
issues
Array<object>
object
path
required

JSON path to the invalid filter field or value.

string
code
required
string
Allowed values: INVALID_FILTER_SHAPE UNKNOWN_FILTER_FIELD FIELD_NOT_FILTERABLE UNSUPPORTED_FILTER_OPERATOR UNSUPPORTED_TEXT_COMPARISON INVALID_FILTER_VALUE INVALID_ENUM_VALUE AMBIGUOUS_ENUM_VALUE
message
required
string
suggestions
Array<string>
key
additional properties
any
Examples
{
"error": "Unauthorized: Missing or invalid Authorization header"
}

Token is valid but lacks the required scope for this endpoint. Check the endpoint description for the required scope (discovery, purchase, or account).

Media typeapplication/json
object
error
required

Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.

string
message

Human-readable explanation of the error.

string
code

Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.

string
request_id

Opaque support/debug identifier when available.

string
next_step

Public action for correcting the request or retrying later.

string
issues
Array<object>
object
path
required

JSON path to the invalid filter field or value.

string
code
required
string
Allowed values: INVALID_FILTER_SHAPE UNKNOWN_FILTER_FIELD FIELD_NOT_FILTERABLE UNSUPPORTED_FILTER_OPERATOR UNSUPPORTED_TEXT_COMPARISON INVALID_FILTER_VALUE INVALID_ENUM_VALUE AMBIGUOUS_ENUM_VALUE
message
required
string
suggestions
Array<string>
key
additional properties
any
Examples
Examplemissing_scope
{
"error": "SCOPE_REQUIRED",
"message": "This endpoint requires the creator scope."
}