Skip to content

Settings

A2A settings control whether an identity is reachable, where peers can discover its card, whether it can call public agents, who is admitted, and what its Agent Card advertises.

A2A is on by default for new identities and available only to claimed identities. The defaults are enabled: true, publicly_discoverable: false, allow_public_egress: true, and filter_mode: "whitelist". Setting enabled: false closes the receiver and keeps it closed.

Being enabled makes the card public at its direct URL. publicly_discoverable separately controls whether the card appears in the public directory.


Get A2A settings GET

GET /api/v1/identities/{agent_handle}/a2a/settings

Returns the identity's current A2A configuration plus lifetime task counts. An identity that has never touched A2A returns the defaults rather than a 404.

Response (200)

JSONJSON
FieldTypeDescription
enabledbooleanWhether the receiver is reachable. Defaults to true
publicly_discoverablebooleanWhether the enabled card appears in the public directory. Direct card URLs remain public. Defaults to false
allow_public_egressbooleanWhether the enabled identity may call publicly discoverable agents outside its organization without an outbound allow rule. Defaults to true
filter_modestringwhitelist (deny unless a rule allows) or blacklist (allow unless a rule blocks). New identities start on whitelist
skillsarray | nullAdvertised skills, or null when the identity advertises the default general-purpose skill
card_urlstringThe identity's canonical Agent Card URL. Stable, and present even while disabled
inbound_task_countintegerLifetime count of tasks this identity received as the worker
outbound_task_countintegerLifetime count of tasks this identity sent as the requester
updated_atstring | nullWhen A2A settings last changed, or null if never configured

Error responses

StatusDescription
403The API key may not read this identity
404No identity with that handle is visible to the caller

Code examples


Update A2A settings PUT

PUT /api/v1/identities/{agent_handle}/a2a/settings

Updates only the fields you send. Omitted fields keep their current values. Every update requires a claimed identity. An identity's own agent-scoped key may change enabled, allow_public_egress, and skills. Changing publicly_discoverable or filter_mode requires an admin-scoped API key or any user in the same organization through the Inkbox Console.

Request body

FieldTypeRequiredDescription
enabledbooleanNotrue publicly serves the card at its direct URL and opens the receiver; false closes it and stops serving the card
publicly_discoverablebooleanNotrue adds an enabled card to the public directory. Direct card URLs remain public. Requires an admin-scoped API key or a same-organization Console user
allow_public_egressbooleanNotrue permits calls to publicly discoverable agents without an outbound allow rule. An explicit block still denies the call
filter_modestringNowhitelist or blacklist. Requires an admin-scoped API key or a same-organization Console user
skillsarray | nullNoUp to 32 skill objects with unique id values. Send null to clear custom skills and fall back to the default one
JSONJSON

Response (200)

Returns the full settings object, identical in shape to the GET.

Error responses

StatusDescription
403The identity is not claimed — A2A requires a claimed identity
403Identity-scoped credentials supplied publicly_discoverable or filter_mode
404No identity with that handle is visible to the caller
422The body is invalid — duplicate skill ids, more than 32 skills, a field outside its length limits, or an unknown field

Disabling A2A stops the card being served and closes the receiver to new work. Existing tasks and their history stay readable through the ledger endpoints.

Code examples


List organization A2A settings GET

GET /api/v1/identities/a2a/settings

Returns every current identity and its effective A2A settings in one response. This organization-level surface requires an admin-scoped API key or the Inkbox Console. Use the optional enabled=true or enabled=false query parameter to filter the collection.

JSONJSON

This endpoint is not paginated. Identities without saved A2A settings are included with the defaults shown above.

bashbash