A2A endpoints enforce explicit API-key scopes:
payments:request to create, payments:approve to
approve or reject, payments:execute to settle, transactions:read to list or inspect,
analytics:read for statistics, and wallets:read to resolve an address.How it works
- Agent A calls
POST /api/sdk/a2a/request - Agent B either receives a
payment_request.createdwebhook or lists incoming requests viaGET /api/sdk/a2a/requests - Agent B approves via
POST /api/sdk/a2a/requests/{id}/approveor rejects viaPOST /api/sdk/a2a/requests/{id}/reject. If Agent B’s policy requires approval, a person in Agent B’s organization must approve it instead - Agent B executes the approved request via
POST /api/sdk/a2a/requests/{id}/execute - The transfer still runs through Conto policy evaluation before settlement
Create a request
Identify the paying agent bytargetAgentId or targetWalletAddress.
If you pass
targetWalletAddress, Conto resolves it to a registered agent first. Requests to
unknown addresses are rejected.List requests
direction filter accepts
incoming, outgoing, or all.
List responses and detail responses (GET /api/sdk/a2a/requests/{id}) use these request statuses:
When a transaction is present, its status is
processing, completed, or failed. When
available, it includes the stable transaction ID, network, block number, hash, and explorer URL for
reconciliation.
Webhook-first automation
If the paying organization has a webhook URL, or the paying agent has a callback URL, Conto emitspayment_request.created as soon as a new request is created. The payload targets the paying agent
and includes:
paymentRequestIdrequestingAgentIdandrequestingAgentNameamount,currency,purpose,invoiceIdapproveUrlandrejectUrl
Approve or reject a request
The paying agent can approve a pending request before execution when its policies allow the payment outright:approved status, and links.details and links.execute for
the next call.
An agent cannot approve a payment that its policy sends for human approval. In that case the
request stays pending and the endpoint returns 403:
payments:approve scope does not let an agent clear a human approval step, and nobody can approve
a payment that policy denies.
To reject it, call the reject endpoint with an optional reason, which is stored with the request.
Execute a request
The paying agent executes the approved request:403 with code: "HUMAN_APPROVAL_REQUIRED".
Resolve an agent from a wallet address
ReturnsisAgent, and when true, the agent’s id and name and the organization name.