{
  "openapi": "3.1.0",
  "info": {
    "title": "AQL PropertyCheck Gold Coast Property Intelligence API",
    "version": "1.6.1",
    "summary": "Gold Coast property intelligence and due-diligence reports for AI agents.",
    "description": "Use this API for property due diligence in the City of Gold Coast, Queensland, Australia: planning, flood, bushfire, schools, transport, infrastructure, land use, police-division context and measured traffic. Agent Contract 1.6.1, envelope schema 2026-10-02, prices agent-aud-v3 (AUD incl. GST): pay-per-call A$1.39 over x402 without an account, or credit packs 25/A$29.00, 100/A$89.00, 500/A$345.00, 2000/A$980.00. Three states per block: has_value, checked_absent, not_checked (never read not_checked as absent). Outside coverage the lookup is refused (404) and never charged. Open data only, no Google content.",
    "contact": {
      "url": "https://property.alphaquantlabs.ai"
    }
  },
  "servers": [
    {
      "url": "https://agents.alphaquantlabs.ai"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "API key from POST /v1/accounts"
      },
      "apiKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "The same API key, for clients or gateways that reserve Authorization"
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      },
      "Coverage": {
        "type": "object",
        "required": [
          "supported",
          "coverage_area",
          "coordinates",
          "product_available",
          "disclosure"
        ],
        "properties": {
          "supported": {
            "type": "boolean"
          },
          "coverage_area": {
            "type": "string"
          },
          "region": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "coverage_area": {
                "type": "string"
              }
            }
          },
          "coordinates": {
            "type": "object",
            "required": [
              "latitude",
              "longitude"
            ],
            "properties": {
              "latitude": {
                "type": "number"
              },
              "longitude": {
                "type": "number"
              }
            }
          },
          "product_available": {
            "type": "boolean"
          },
          "freshness": {
            "type": [
              "string",
              "null"
            ]
          },
          "disclosure": {
            "type": "string"
          }
        }
      },
      "ReportRecord": {
        "type": "object",
        "required": [
          "report_id",
          "request_id",
          "status",
          "response_hash"
        ],
        "properties": {
          "report_id": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ready"
            ]
          },
          "response_hash": {
            "type": "string"
          },
          "report": {
            "$ref": "https://agents.alphaquantlabs.ai/v1/schema"
          }
        }
      }
    }
  },
  "paths": {
    "/": {
      "get": {
        "summary": "Human-readable documentation",
        "responses": {
          "200": {
            "description": "HTML"
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "Agent instructions in plain text",
        "responses": {
          "200": {
            "description": "text/plain"
          }
        }
      }
    },
    "/robots.txt": {
      "get": {
        "summary": "Crawler policy",
        "responses": {
          "200": {
            "description": "text/plain"
          }
        }
      }
    },
    "/.well-known/agent-card.json": {
      "get": {
        "summary": "A2A Agent Card",
        "responses": {
          "200": {
            "description": "Agent Card"
          }
        }
      }
    },
    "/.well-known/agent.json": {
      "get": {
        "summary": "A2A Agent Card at the v0.2 path (same document)",
        "responses": {
          "200": {
            "description": "Agent Card"
          }
        }
      }
    },
    "/v1/openapi.json": {
      "get": {
        "summary": "This document",
        "responses": {
          "200": {
            "description": "OpenAPI 3.1"
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "summary": "This document, at the root",
        "responses": {
          "200": {
            "description": "OpenAPI 3.1"
          }
        }
      }
    },
    "/.well-known/x402": {
      "get": {
        "summary": "x402 discovery document: the keyless paid resource",
        "responses": {
          "200": {
            "description": "version, resources, instructions"
          }
        }
      }
    },
    "/v1/health": {
      "get": {
        "summary": "Service status and enabled payment rails",
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/v1/blocks": {
      "get": {
        "summary": "Live catalogue: blocks sold, blocks withheld and why, prices",
        "responses": {
          "200": {
            "description": "catalogue"
          }
        }
      }
    },
    "/v1/regions": {
      "get": {
        "summary": "Live supported-region catalogue from the canonical PropertyCheck registry",
        "responses": {
          "200": {
            "description": "supported regions"
          },
          "503": {
            "description": "canonical registry unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/coverage": {
      "get": {
        "summary": "Free coverage-only check; never returns paid property intelligence",
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            },
            "example": -27.9675
          },
          {
            "name": "lng",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            },
            "example": 153.4136
          }
        ],
        "responses": {
          "200": {
            "description": "coverage result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Coverage"
                }
              }
            }
          },
          "400": {
            "description": "bad coordinates",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "coverage rate limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "coverage source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/schema": {
      "get": {
        "summary": "JSON Schema of the property envelope",
        "responses": {
          "200": {
            "description": "JSON Schema 2020-12"
          }
        }
      }
    },
    "/v1/accounts": {
      "post": {
        "summary": "Create an account and API key (free, 0 credits; the key is shown once)",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "company": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "account_id and api_key"
          },
          "400": {
            "description": "bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "registration rate limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account": {
      "get": {
        "summary": "Balance, spend today, caps",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "account"
          },
          "401": {
            "description": "no or invalid key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/organisation": {
      "get": {
        "summary": "Calling organisation, environment and granted scopes",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "organisation"
          },
          "401": {
            "description": "no or invalid key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/organisation/members": {
      "get": {
        "summary": "List organisation member authorization records (no email addresses returned)",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "members"
          },
          "403": {
            "description": "organisation:manage required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an invited member authorization record for a future verified portal identity",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "role"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "owner",
                      "admin",
                      "developer",
                      "billing",
                      "viewer"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "invited member metadata"
          },
          "400": {
            "description": "invalid member",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "organisation:manage required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/service-accounts": {
      "get": {
        "summary": "List service identities and active key counts",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "service accounts"
          },
          "403": {
            "description": "organisation:manage required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a service identity; issue a scoped key separately",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "service account"
          },
          "403": {
            "description": "organisation:manage required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/keys": {
      "get": {
        "summary": "List this organisation's credential metadata; secrets are never returned",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "keys"
          },
          "403": {
            "description": "keys:manage required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Issue one scoped service credential; secret shown once",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "service_account_id": {
                    "type": "string"
                  },
                  "scopes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "new key shown once"
          },
          "400": {
            "description": "invalid scope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "keys:manage required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/keys/rotate": {
      "post": {
        "summary": "Atomically replace and revoke one owned key",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "key_prefix"
                ],
                "properties": {
                  "key_prefix": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "replacement key shown once"
          },
          "404": {
            "description": "key not owned or inactive",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/keys/revoke": {
      "post": {
        "summary": "Revoke one owned key; refuses to remove the final management key",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "key_prefix"
                ],
                "properties": {
                  "key_prefix": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "revoked"
          },
          "404": {
            "description": "key not owned or inactive",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "last management key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/receipts": {
      "get": {
        "summary": "Tax receipts",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "receipts"
          },
          "401": {
            "description": "no or invalid key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/property": {
      "get": {
        "summary": "The property envelope for one point (1 credit, or A$1.39 over x402 without a key)",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          },
          {}
        ],
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.978874"
          }
        },
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            },
            "example": -27.9675,
            "description": "Required for a lookup. A keyless GET with neither lat nor lng is a discovery probe: it gets the 402 challenge, free."
          },
          {
            "name": "lng",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            },
            "example": 153.4136
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Replays return the original envelope without a second charge"
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "x402 v2 payment, keyless calls only"
          }
        ],
        "responses": {
          "200": {
            "description": "The envelope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "https://agents.alphaquantlabs.ai/v1/schema"
                }
              }
            }
          },
          "400": {
            "description": "lat/lng missing or invalid (free)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "no key and no x402 rail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "insufficient credits, or x402 PAYMENT-REQUIRED for a keyless call",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "out_of_coverage - never charged",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "in_progress - same Idempotency-Key still running",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate limit or daily cap",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "envelope_refused - refunded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "upstream_unavailable / coverage_unknown - refunded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/reports": {
      "get": {
        "summary": "List immutable paid reports owned by this organisation",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "report metadata"
          },
          "403": {
            "description": "reports:read required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create, charge once and durably store a machine-safe property report",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9._:-]+$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "latitude",
                  "longitude"
                ],
                "properties": {
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "idempotent replay",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportRecord"
                }
              }
            }
          },
          "201": {
            "description": "new report",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportRecord"
                }
              }
            }
          },
          "400": {
            "description": "bad request or missing Idempotency-Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "insufficient credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "out of coverage; not charged",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "same request still running",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "upstream/persistence failure; refunded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/reports/{report_id}": {
      "get": {
        "summary": "Retrieve an already-paid report owned by this organisation",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "report_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "stored report",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportRecord"
                }
              }
            }
          },
          "404": {
            "description": "unknown or another organisation's report",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/reports/{report_id}/status": {
      "get": {
        "summary": "Read report status and hash without the report body",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "report_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ready status"
          },
          "404": {
            "description": "unknown or another organisation's report",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/credits/checkout": {
      "post": {
        "summary": "Stripe Checkout URL for a credit pack (for the human running the agent)",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pack"
                ],
                "properties": {
                  "pack": {
                    "type": "string",
                    "enum": [
                      "starter",
                      "standard",
                      "volume",
                      "scale"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "checkout_url"
          },
          "400": {
            "description": "unknown pack",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "card payments not configured",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/credits/x402": {
      "post": {
        "summary": "Buy a credit pack with USDC on Base over x402 v2 (402 first, then PAYMENT-SIGNATURE)",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pack"
                ],
                "properties": {
                  "pack": {
                    "type": "string",
                    "enum": [
                      "starter",
                      "standard",
                      "volume",
                      "scale"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "credited, with the settlement transaction"
          },
          "402": {
            "description": "PAYMENT-REQUIRED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/credits/crypto-invoice": {
      "post": {
        "summary": "Reserved: direct stablecoin invoices (answers 503 until a rail is enabled)",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "503": {
            "description": "not enabled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/x402/supported": {
      "get": {
        "summary": "Which x402 schemes and networks the facilitator accepts",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "supported kinds"
          }
        }
      }
    },
    "/v1/mcp": {
      "post": {
        "summary": "Stateless Streamable HTTP MCP 2025-06-18. Coverage/catalogue discovery is keyless; paid and tenant tools require a scoped key",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          },
          {}
        ],
        "responses": {
          "200": {
            "description": "JSON-RPC over application/json"
          },
          "202": {
            "description": "notification accepted"
          },
          "401": {
            "description": "a call that needs a key, without one",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "keyless rate limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/a2a": {
      "post": {
        "summary": "A2A JSON-RPC (SendMessage v1.0, message/send v0.3): skill property_lookup, 1 credit",
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "responses": {
          "200": {
            "description": "JSON-RPC"
          },
          "401": {
            "description": "no or invalid key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/crypto/settlement": {
      "post": {
        "summary": "Internal: settlement notifications (signed)",
        "responses": {
          "400": {
            "description": "bad settlement",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/stripe/webhook": {
      "post": {
        "summary": "Internal: Stripe webhook (signed)",
        "responses": {
          "400": {
            "description": "bad signature",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  }
}