Skip to content

Simulate capture, reversal/expiry release or refund through the durable inbox

POST
/v1/test/agent_cards/{id}/events
curl --request POST \
--url https://api.xaalis.org/v1/test/agent_cards/example/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'idempotency-key: example' \
--data '{ "transaction_id": "example", "authorization_id": "example", "operation": "capture", "amount": 1 }'
id
required
string
idempotency-key
required

Required retry-safe key; reuse it only for the same operation and request body

string
>= 1 characters <= 255 characters

Required retry-safe key; reuse it only for the same operation and request body

Media typeapplication/json
object
transaction_id
required
string
/^[a-zA-Z0-9_-]{1,120}$/
authorization_id
required
string
/^[a-zA-Z0-9_-]{1,160}$/
operation
required
string
Allowed values: capture release refund
amount
required
integer
>= 1 <= 100000000

Durable inbox event

Media typeapplication/json
object
object
required
string
Allowed values: agent_card_test_event
id
required
string
Example
{
"object": "agent_card_test_event"
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Validation error

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Authentication required

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Forbidden

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Not found

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Idempotency conflict or invalid state

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Policy limit or insufficient funds

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Rate limited

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.

Retry-After
string

Minimum seconds to wait before retrying. Takes precedence over the quota snapshot.

Service unavailable

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}
RateLimit-Policy
string

Present after quota evaluation: structured list of policy labels with q=request allowance and w=rolling-window seconds (IETF draft-ietf-httpapi-ratelimit-headers-11).

RateLimit
string

Present after quota evaluation: matching policy labels with r=remaining requests and t=effective-window seconds. Snapshot, not a guarantee; omitted when no quota was evaluated.