AgentBill API

AgentBill API as documented publicly: 16 operations. Contract generated from the documentation by API Evangelist (2026-11-01); not the provider's own document.

Operations 16

GET /api/v1/executions GET /api/v1/executions #
GET /api/v2/scenarios/{scenarioid}/logs GET /api/v2/scenarios/{scenarioId}/logs #
PUT /budget API Reference #
POST /events API Reference #
GET /health GET /health answers whether the process is up #
GET /health/db GET /health/db runs the same query this page runs and returns 503 when it fails #
GET /keys What to do if you find a problem, what our code sends from your machine, and what the service does with your account today. #
POST /keys/revoke What to do if you find a problem, what our code sends from your machine, and what the service does with your account today. #
POST /keys/rotate What to do if you find a problem, what our code sends from your machine, and what the service does with your account today. #
POST /preflight json · POST /preflight · הבקשה #
POST /step API Reference #
GET /tasks API Reference #
GET /tasks/{taskRef} API Reference #
PUT /tasks/{taskRef}/ceiling PUT /tasks/{taskRef}/ceiling #
GET /usage API Reference #
POST /webhook-config API Reference #

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/agentbill-dev:agentbill-dev-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

agentbill-dev-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: AgentBill API
  version: '2026-11-01'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-01: 16 operation(s) read from 12 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; AgentBill has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 2
    documentation: 14
    pages-with-code: 5
    pages-read: 12
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-01'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://agentbill.dev/integrations/openai-agents-sdk
  - https://agentbill.dev/he/cost-per-client
  - https://agentbill.dev/docs
  - https://agentbill.dev/integrations/mcp
  - https://agentbill.dev/integrations/openclaw
  - https://agentbill.dev/faq
  - https://agentbill.dev/status
  - https://agentbill.dev/security
  - https://agentbill.dev/integrations/langchain
  - https://agentbill.dev/integrations/crewai
  - https://agentbill.dev/docs/first-run
  - https://agentbill.dev/docs/task-budgets
paths:
  /api/v1/executions:
    get:
      operationId: get_api_v1_executions
      tags:
      - Api
      summary: GET /api/v1/executions
      x-source: https://agentbill.dev/he/cost-per-client
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: string
      - name: startedAfter
        in: query
        required: false
        schema:
          type: string
      - name: workflowId
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -s \"https://YOUR-N8N-HOST/api/v1/executions?workflowId=WORKFLOW_ID&startedAfter=2026-08-01T00:00:00Z&limit=250\"  -H \"\
          X-N8N-API-KEY: PASTE-YOUR-KEY-HERE\" \n הגבול של השליפה הזו, כדי שלא תיפול עליה אחר כך. \n ה- limit המקסימלי הוא 250. אם היו יותר, התשובה\
          \ מחזירה nextCursor ,\n ואתה מריץ שוב עם cursor= והערך הזה. ואם הפעלת מחיקה אוטומטית של היסטוריית ריצות,\n השליפה תחזיר פחות ממה שבאמת\
          \ רץ, אז תבדוק"
  /api/v2/scenarios/{scenarioid}/logs:
    get:
      operationId: get_api_v2_scenarios_scenarioid_logs
      tags:
      - Api
      summary: GET /api/v2/scenarios/{scenarioId}/logs
      x-source: https://agentbill.dev/he/cost-per-client
      parameters:
      - name: scenarioid
        in: path
        required: true
        schema:
          type: string
      - name: from
        in: query
        required: false
        schema:
          type: string
      - name: pg[limit]
        in: query
        required: false
        schema:
          type: string
      - name: to
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -s \"https://eu2.make.com/api/v2/scenarios/SCENARIO_ID/logs?from=1785542400000&to=1788220800000&pg[limit]=100\"  -H \"\
          Authorization: Token PASTE-YOUR-TOKEN-HERE\" \n הגבול של השליפה הזו. ה- host תלוי באזור של הארגון\n שלך, eu1 או eu2 או us1 או us2 ,\
          \ וזו לא אותה\n כתובת לכולם. ה- token נכתב אחרי המילה Token ובלי Bearer .\n כל שורה ביומן מחזירה operations , transfer , centicredits\
          \ ,\n duration , status "
  /budget:
    put:
      operationId: put_budget
      tags:
      - Budget
      summary: API Reference
      x-source: https://agentbill.dev/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutBudgetRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutBudgetResponse'
      x-evidence:
        kind: documentation
  /events:
    post:
      operationId: post_events
      tags:
      - Events
      summary: API Reference
      x-source: https://agentbill.dev/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostEventsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /health:
    get:
      operationId: get_health
      tags:
      - Health
      summary: GET /health answers whether the process is up
      x-source: https://agentbill.dev/status
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /health/db:
    get:
      operationId: get_health_db
      tags:
      - Health
      summary: GET /health/db runs the same query this page runs and returns 503 when it fails
      x-source: https://agentbill.dev/status
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /keys:
    get:
      operationId: get_keys
      tags:
      - Keys
      summary: What to do if you find a problem, what our code sends from your machine, and what the service does with your account today.
      x-source: https://agentbill.dev/security
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /keys/revoke:
    post:
      operationId: post_keys_revoke
      tags:
      - Keys
      summary: What to do if you find a problem, what our code sends from your machine, and what the service does with your account today.
      x-source: https://agentbill.dev/security
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostKeysRevokeRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /keys/rotate:
    post:
      operationId: post_keys_rotate
      tags:
      - Keys
      summary: What to do if you find a problem, what our code sends from your machine, and what the service does with your account today.
      x-source: https://agentbill.dev/security
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /preflight:
    post:
      operationId: post_preflight
      tags:
      - Preflight
      summary: json · POST /preflight · הבקשה
      x-source: https://agentbill.dev/he/cost-per-client
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostPreflightRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostPreflightResponse'
      x-evidence:
        kind: documentation
  /step:
    post:
      operationId: post_step
      tags:
      - Step
      summary: API Reference
      x-source: https://agentbill.dev/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostStepRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /tasks:
    get:
      operationId: get_tasks
      tags:
      - Tasks
      summary: API Reference
      x-source: https://agentbill.dev/docs
      parameters:
      - name: agent_id
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
      - name: sort
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTasksResponse'
      x-evidence:
        kind: documentation
  /tasks/{taskRef}:
    get:
      operationId: get_tasks_taskRef
      tags:
      - Tasks
      summary: API Reference
      x-source: https://agentbill.dev/docs
      parameters:
      - name: taskRef
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTasksTaskrefResponse'
      x-evidence:
        kind: documentation
  /tasks/{taskRef}/ceiling:
    put:
      operationId: put_tasks_taskRef_ceiling
      tags:
      - Tasks
      summary: PUT /tasks/{taskRef}/ceiling
      x-source: https://agentbill.dev/integrations/openai-agents-sdk
      parameters:
      - name: taskRef
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /usage:
    get:
      operationId: get_usage
      tags:
      - Usage
      summary: API Reference
      x-source: https://agentbill.dev/docs
      parameters:
      - name: by
        in: query
        required: true
        schema:
          type: string
      - name: days
        in: query
        required: false
        schema:
          type: integer
      - name: limit
        in: query
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUsageResponse'
      x-evidence:
        kind: documentation
  /webhook-config:
    post:
      operationId: post_webhook_config
      tags:
      - Webhook Config
      summary: API Reference
      x-source: https://agentbill.dev/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostWebhookConfigRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostWebhookConfigResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    PutBudgetRequest:
      type: object
      properties:
        customer_id:
          type: string
          description: Internal customer identifier
        limit_units:
          type: integer
          description: Customer ceiling in units (null = no limit)
      required:
      - customer_id
      - limit_units
    PutBudgetResponse:
      type: object
      properties:
        customer_id:
          type: string
        customer_created:
          type: boolean
        limit:
          type: integer
        used:
          type: integer
        reserved:
          type: integer
        remaining:
          type: integer
        is_blocked:
          type: boolean
    PostEventsRequest:
      type: object
      properties:
        customer_id:
          type: string
          description: The client this call is for
        event_type:
          type: string
          description: Agent label (agent_id)
        idempotency_key:
          type: string
          description: Unique per call
        reservation_id:
          type: string
        units:
          type: integer
        task_ref:
          type: string
        success:
          type: boolean
        metadata:
          type: object
        usage_missing:
          type: boolean
      required:
      - customer_id
      - event_type
      - idempotency_key
    PostKeysRevokeRequest:
      type: object
      properties:
        key_prefix:
          type: string
          description: Prefix of the key to revoke.
      required:
      - key_prefix
    PostPreflightRequest:
      type: object
      properties:
        agent_id:
          type: string
        customer_id:
          type: string
        task_ref:
          type: string
        task_ceiling:
          type: integer
        estimated_units:
          type: integer
      required:
      - agent_id
      - customer_id
      - task_ref
      - task_ceiling
      - estimated_units
    PostPreflightResponse:
      type: object
      properties:
        approved:
          type: boolean
        reason:
          type: string
        estimated_units:
          type: integer
        task_ref:
          type: string
        task_ceiling:
          type: integer
        task_used_units:
          type: integer
        task_remaining_units:
          type: integer
    PostStepRequest:
      type: object
      properties:
        step_name:
          type: string
          description: Name of the step to flag
        agent_id:
          type: string
          description: Agent label
      required:
      - step_name
      - agent_id
    GetTasksResponse:
      type: object
      properties:
        tasks:
          type: array
    GetTasksTaskrefResponse:
      type: object
      properties:
        ceiling_units:
          type: integer
        used_units:
          type: integer
        reserved_units:
          type: integer
        remaining_units:
          type: integer
        exceeded:
          type: boolean
        created_at:
          type: string
        updated_at:
          type: string
    GetUsageResponse:
      type: object
      properties:
        by:
          type: string
        days:
          type: integer
        total_units:
          type: integer
        total_events:
          type: integer
        group_count:
          type: integer
        groups:
          type: array
    PostWebhookConfigRequest:
      type: object
      properties:
        url:
          type: string
          description: HTTPS URL for anomaly alerts
      required:
      - url
    PostWebhookConfigResponse:
      type: object
      properties:
        webhook_url:
          type: string
        signing_secret:
          type: string
        signature_header:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-N8N-API-KEY
security:
- apiKey: []
tags:
- name: Api
- name: Budget
- name: Events
- name: Health
- name: Keys
- name: Preflight
- name: Step
- name: Tasks
- name: Usage
- name: Webhook Config