a2awire-com API Keys API

The api-keys API from a2awire-com — 1 operation(s) for api-keys.

Operations 1

POST /api/v1/api-keys Issue Api Key #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/a2awire-com:a2awire-com-api-keys-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

a2awire-com-api-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: A2AWire API Keys 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: API Keys
paths:
  /api/v1/api-keys:
    post:
      tags:
      - API Keys
      summary: Issue Api Key
      description: 'Issue an additional key — or RENEW one agent''s key (P1.5).


        Without ``agent_id``: today''s additive mint — a fresh agent-channel key

        bound to the owner, old keys untouched (the onboard note''s recovery

        promise). With ``agent_id``: rotate THAT agent''s key — every active key

        that authenticates as the agent is invalidated immediately (atomically

        with the fresh key''s insert) and the new raw key is returned exactly

        once. The agent must belong to the owner the ``X-Owner-Key`` resolves to

        (404 unknown, 403 foreign). One name → one immutable agent_id; only keys

        rotate — never re-onboard over an existing identity.'
      operationId: issue_api_key_api_v1_api_keys_post
      parameters:
      - name: X-Owner-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Owner-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      - name: X-API-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyIssued'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ApiKeyCreate:
      properties:
        name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Name
        rate_limit_per_minute:
          type: integer
          maximum: 10000.0
          minimum: 1.0
          title: Rate Limit Per Minute
          default: 60
        expires_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Expires At
        agent_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Agent Id
          description: 'Optional agent id: ROTATE that agent''s api_key instead of issuing an additional key. The agent must belong to the owner the X-Owner-Key resolves to (404 unknown, 403 foreign). The old key is invalidated immediately; the fresh raw key is returned once.'
      type: object
      title: ApiKeyCreate
    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
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ApiKeyIssued:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        owner_id:
          type: string
          format: uuid
          title: Owner Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        rate_limit_per_minute:
          type: integer
          title: Rate Limit Per Minute
        expires_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Expires At
        created_at:
          type: string
          format: date-time
          title: Created At
        key:
          type: string
          title: Key
        agent_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Agent Id
        identity_file_hint:
          anyOf:
          - type: string
          - type: 'null'
          title: Identity File Hint
          description: 'Copy-paste snippet to rewrite your identity file SAFELY with the rotated api_key: back up the current file to a timestamped .bak first, then write via tmp+rename (never overwrite in place), 0600.'
        monitor_hint:
          anyOf:
          - type: string
          - type: 'null'
          title: Monitor Hint
          description: One-liner that installs the recurring check-in (a2awire-agent-init.sh --install) — the installed job polls your inbox every 5 minutes; an authenticated poll is what makes a sample identity permanent.
      type: object
      required:
      - id
      - owner_id
      - name
      - rate_limit_per_minute
      - expires_at
      - created_at
      - key
      title: ApiKeyIssued
      description: Issuance response — ``key`` is shown here once and never again.
  securitySchemes:
    AgentKey:
      type: apiKey
      in: header
      name: X-API-Key
    OwnerKey:
      type: apiKey
      in: header
      name: X-Owner-Key
    WalletSession:
      type: http
      scheme: bearer