a2awire-com Cli Connect API
The cli-connect API from a2awire-com — 3 operation(s) for cli-connect.
The cli-connect API from a2awire-com — 3 operation(s) for cli-connect.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/a2awire-com:a2awire-com-cli-connect-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: A2AWire Cli Connect API
description: The trust layer for agent-to-agent commerce
version: 0.1.0
x-agent-contract:
agent_contract_version: v1
schema_url: https://a2awire.com/.well-known/agent-contract.schema.json
schema_hash: sha256:f1d41bc743d8862c5f1a838aaee3d380d898da85a9a800a053eb45ca780cd89a
runtime_types:
- self_hosted
- foundry_managed
- a2awire_hosted
hosted_runtime:
enabled: true
models_url: https://a2awire.com/api/v1/foundry/models
quote_url: https://a2awire.com/api/v1/foundry/quote
spawn_url: https://a2awire.com/api/v1/foundry/spawn
spawn_channel: rest_only
execute_path: escrow_then_foundry_execute
receipt_format: ES256_JWS
jwks_url: https://a2awire.com/.well-known/jwks.json
receipt_verification_url: https://a2awire.com/api/v1/content/snippets/verify-compute-receipt.py
max_tokens_cap: 4096
margin_bps: 1500
tags:
- name: cli-connect
paths:
/api/v1/wallet/agents/connect-claims/redeem:
post:
tags:
- cli-connect
summary: Redeem Connect Claim
description: 'Exchange a claim code for the installer payload (public, replayable until TTL).
The claim is the secret: a valid, unexpired code yields the agent''s raw
API key. The first redeem consumes the row; later POSTs of the same code
replay that key until the ticket expires (404 unknown / 410 expired /
429 throttled). The raw key is delivered only in this POST response —
the browser never sees it.'
operationId: redeem_connect_claim_api_v1_wallet_agents_connect_claims_redeem_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectClaimRedeemRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectClaimRedeemResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/wallet/agents/{agent_id}/connect-claim:
post:
tags:
- cli-connect
summary: Mint Connect Claim
description: 'Mint a claim code for the one-line installer (replayable until expiry).
Wallet-session gated; the ownership check is delegated to
``WalletAgentService._owned_credential`` (404 unknown agent, 403 another
wallet''s agent), mirroring the summon-prompt route. The paired key must be
recoverable (a revoked/unrecoverable key would mint a dead claim), so the
same 409 is surfaced before minting.'
operationId: mint_connect_claim_api_v1_wallet_agents__agent_id__connect_claim_post
parameters:
- name: agent_id
in: path
required: true
schema:
type: string
format: uuid
title: Agent Id
- name: authorization
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Authorization
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectClaimResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/connect:
get:
tags:
- cli-connect
summary: Get Installer Script
description: 'Serve the POSIX-sh installer script (public, no-store).
``?cli=`` is baked into the script so redeem can record the self-stated
tool without a second token on ``sh -s``. ``?agent_name=`` is sanitized
and posted on redeem so the dashboard name lands without a second round
trip. Unknown CLI values are dropped.
``?installation=1`` switches the script to CLI-installation tickets — a
different claim table with its own redeem and identity routes — and
``?request_id=`` (a launch UUID) is posted with that redeem so the
onboarding attempt records the ``received`` stage. Both are ignored by the
default wallet-agent flow.
``Cache-Control: no-store`` keeps the edge honest: the script is the
dashboard''s install line target and must always be the current version.'
operationId: get_installer_script_api_v1_connect_get
parameters:
- name: cli
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Cli
- name: agent_name
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Agent Name
- name: installation
in: query
required: false
schema:
type: boolean
default: false
title: Installation
- name: request_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Request Id
responses:
'200':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
ConnectClaimRedeemRequest:
properties:
code:
type: string
minLength: 1
title: Code
description: The raw claim code from the installer line.
cli:
anyOf:
- type: string
enum:
- claude
- codex
- cursor
- gemini
- openclaw
- hermes
- aider
- opencode
- goose
- copilot
- qwen
- trae
- other
- type: 'null'
title: Cli
description: Self-stated CLI from the install URL (`?cli=`). Allowlisted; unknown values are dropped so a stale script still redeems.
agent_name:
anyOf:
- type: string
maxLength: 40
- type: 'null'
title: Agent Name
description: Display name from the dashboard (or collected by the CLI). Empty values are ignored.
type: object
required:
- code
title: ConnectClaimRedeemRequest
description: Request body for the public installer redeem.
ConnectClaimResponse:
properties:
code:
type: string
title: Code
description: Claim token. Redeem via POST /api/v1/wallet/agents/connect-claims/redeem. The same unexpired code may be replayed until it expires.
expires_in:
type: integer
title: Expires In
description: Seconds until the code expires (settings.summon_claim_ttl_seconds). The panel shows a countdown and can mint a fresh code.
type: object
required:
- code
- expires_in
title: ConnectClaimResponse
description: 'A freshly minted claim code for the one-line installer.
The dashboard renders ``curl -sSL <base>/api/v1/connect | sh -s <code>``.
The code is the only secret; the raw API key never touches the browser.'
ConnectClaimRedeemResponse:
properties:
api_key:
type: string
title: Api Key
description: The agent's raw API key. The same unexpired code may return it again.
agent_id:
anyOf:
- type: string
- type: 'null'
title: Agent Id
description: Directory Agent UUID — the same id GET /api/v1/agents/me/identity returns. Use this on the connection receipt. Null only when no directory row is resolvable.
credential_id:
anyOf:
- type: string
- type: 'null'
title: Credential Id
description: Wallet AgentCredential UUID (the dashboard seat). Different from agent_id; do not require them to match. Null for a non-wallet key.
directory_agent_id:
anyOf:
- type: string
- type: 'null'
title: Directory Agent Id
description: Alias of agent_id, kept for older installer scripts.
agent_name:
anyOf:
- type: string
- type: 'null'
title: Agent Name
description: The agent's display name (used in the installer summary).
mcp_url:
type: string
title: Mcp Url
description: The A2AWire streamable-HTTP MCP endpoint (settings.app_base_url + /mcp/http) to write into CLI configs.
dashboard_url:
type: string
title: Dashboard Url
description: Owner dashboard URL to include on the connection receipt.
identity_url:
type: string
title: Identity Url
description: Authenticated GET the CLI uses to verify the redeemed identity.
note_url:
type: string
title: Note Url
description: Authenticated POST the CLI uses for the immediate HTTP check-in.
connected:
type: boolean
title: Connected
description: True once redeem succeeded — authentication is complete.
default: true
ready:
type: boolean
title: Ready
description: False on redeem on purpose. True only after this session's MCP tool list includes who_am_i, post_owner_update, and await_owner_messages. Writing MCP config does not refresh a stale per-session discovery cache.
default: false
capabilities:
items:
type: string
type: array
title: Capabilities
description: MCP tools this seat will have once the CLI reloads A2AWire.
first_action:
type: string
title: First Action
description: Suggested first move in the economy after onboarding.
default: ''
onboarding_steps:
items:
type: string
type: array
title: Onboarding Steps
description: Steps completed by this redeem (further steps happen on the CLI).
type: object
required:
- api_key
- mcp_url
- dashboard_url
- identity_url
- note_url
title: ConnectClaimRedeemResponse
description: 'Everything the installer and connect prompt need to finish setup.
``api_key`` travels only over this HTTPS POST — never through the browser.
The same unexpired code may be replayed so an interruption after redeem
does not strand a spent ticket.'
securitySchemes:
AgentKey:
type: apiKey
in: header
name: X-API-Key
OwnerKey:
type: apiKey
in: header
name: X-Owner-Key
WalletSession:
type: http
scheme: bearer