aiagentscity-com Demo API

The Demo API from aiagentscity-com — 4 operation(s) for demo.

Operations 4

GET /demo Demo #
GET /v1/demo/summary Demo Summary #
POST /v1/demo/simulate Demo Simulate #
POST /v1/demo/quickstart-copy Quickstart Copy Beacon #

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/aiagentscity-com:aiagentscity-com-demo-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

aiagentscity-com-demo-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AgentLedger Demo API
  version: 0.4.7
  x-guidance: 'AgentLedger is per-agent AI spend tracking with ENFORCED budget caps. Two ways in, both machine-only. (1) FREE, no wallet: POST /start mints a workspace_key (shown once) with no signup and no card — GET /start only renders the form and does NOT mint. Claim an agent with the key in the body of POST /v1/track, set a cap with POST /v1/budget, then route traffic through /proxy/{provider}/... so an over-budget call is refused with 402 BEFORE the provider is contacted. (2) PAID, no human: POST /v1/billing/x402 with a wallet-signed x402 payment mints a workspace bound to the paying wallet. NOTE: a workspace_key claims NEW agents; an agent_secret writes to an existing one. Plain POST /v1/track can reject the ledger write that would cross a cap but cannot un-spend a charge that already happened — only the proxy/wrapper path stops money.'
tags:
- name: Demo
paths:
  /demo:
    get:
      summary: Demo
      description: 'A populated dashboard with no signup and no credential.


        Rendered from a fixture rather than a seeded production workspace: there is

        no workspace-deletion path in the API, so a ''demo workspace'' would be

        permanent, and it would inflate the counters that /stats serves.'
      operationId: demo_demo_get
      responses:
        '200':
          description: Successful Response
          content:
            text/html:
              schema:
                type: string
      tags:
      - Demo
  /v1/demo/summary:
    get:
      summary: Demo Summary
      description: 'The fixture the demo page renders. Public, synthetic, read-only — and it

        returns the same shape as /v1/workspace/summary so the two cannot drift.'
      operationId: demo_summary_v1_demo_summary_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Demo
  /v1/demo/simulate:
    post:
      summary: Demo Simulate
      description: 'D-1250 — the interactive blocked-call proof. Public, no auth, no

        workspace, no agent_id, nothing written to disk: it takes three numbers

        and returns the SAME message shape routes_proxy.py''s real

        `_pre_call_check` returns on a real proxied call. This is not a second,

        friendlier copy of that logic — it is the identical "would spent + estimate

        exceed cap" comparison and the identical message template, so the proof a

        visitor sees here cannot drift from what the product actually does.'
      operationId: demo_simulate_v1_demo_simulate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimulateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Demo
  /v1/demo/quickstart-copy:
    post:
      summary: Quickstart Copy Beacon
      description: 'A one-field beacon: the quickstart page''s copy buttons call this so the

        funnel can see ''copied the install line'' between ''viewed the page'' and

        ''made a real call'' — no auth, no body, nothing stored beyond the count.'
      operationId: quickstart_copy_beacon_v1_demo_quickstart_copy_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Demo
components:
  schemas:
    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
    SimulateRequest:
      properties:
        monthly_cap_cents:
          type: integer
          title: Monthly Cap Cents
        already_spent_cents:
          type: integer
          title: Already Spent Cents
        estimated_call_cents:
          type: integer
          title: Estimated Call Cents
      type: object
      required:
      - monthly_cap_cents
      - already_spent_cents
      - estimated_call_cents
      title: SimulateRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
x-service-info:
  docs:
    llms: /llms.txt
x-products:
- id: trustscan
  x-slot: trust
  x-direction: outward
  x-connect:
    mcp: https://aiagentscity.com/mcp/trustscan
    paid_call: POST https://aiagentscity.com/api/x402/trustscan/npm
    human: https://aiagentscity.com/trust-scan
  tagline: Scan before you trust
  free_proof: POST /api/trustscan/npm returns registry facts + a typosquat screen for any package, unauthenticated — the same check is payable per call over x402 without the rate limit; remote deep scans are path-scoped to the host
- id: agent-watch
  x-slot: trust
  x-direction: outward
  x-connect:
    mcp: https://aiagentscity.com/mcp/agent-watch
    paid_call: POST https://aiagentscity.com/api/x402/agent-watch/probe
    human: https://aiagentscity.com/agent-watch
  tagline: Is this agent or MCP server real and still behaving?
  free_proof: aw_health + aw_census MCP tools are open reads — live census data, no auth
- id: perimeter-watch
  x-slot: trust
  x-direction: outward
  x-connect:
    mcp: https://aiagentscity.com/mcp/perimeter-watch
    human: https://aiagentscity.com/perimeter-watch
  tagline: Is your endpoint still what it claims — checked from the outside?
  free_proof: free browser snapshot — https://entradox.github.io/perimeter-watch-site/
- id: benefits-city
  x-slot: outcome
  x-direction: outward
  x-connect:
    mcp: https://aiagentscity.com/benefits/mcp
    human: https://aiagentscity.com/benefits
  tagline: Verified offer records — will this action actually pay?
  free_proof: search_bonuses / get_bonus MCP tools return hand-verified records with source URLs — no auth
- id: cited
  x-slot: outcome
  x-direction: outward
  x-connect:
    mcp: https://aiagentscity.com/mcp/cited
    human: https://aiagentscity.com/cited
  tagline: Prove the claim that AI recommends you — verbatim evidence
  free_proof: free browser scan — https://entradox.github.io/cited-site/
- id: agent-ledger
  x-slot: outcome
  x-direction: spine
  x-connect:
    mcp: https://aiagentscity.com/mcp/
    rest: https://aiagentscity.com/v1/
    install: npx @aiagentscity/setup ledger
    human: https://aiagentscity.com/agent-ledger
  tagline: Metered, capped, receipted agent spend — proof of what every cent bought
  free_proof: POST /start mints a free workspace (3 agents, every rail) — no signup, no card
- id: workbench-kit
  x-slot: trust+outcome
  x-direction: inward
  x-connect:
    install: npx @aiagentscity/setup workbench
    human: https://aiagentscity.com/workbench
  tagline: Frame, gate, and close-receipt every agent task — proof of what your agents did
  free_proof: the whole kit is free and runs fully offline — `wb verify <receipt_id>` recomputes a close receipt against the local ledger
x-frame:
  frame: trust-and-outcome
  tagline: 'The trust-and-outcome clearing layer for the agent economy: before an agent acts, it verifies the counterparty; after it acts, it proves the result.'
  questions:
    trust: Before an agent acts — can it trust the counterparty?
    outcome: After an agent acts — did it work?
  directions:
    outward: verifies counterparties outside your fleet
    spine: the receipts rail every instrument writes through
    inward: verifies your own fleet's work
  parked: []