agentdrives-com Support API

Questions, disputes and support cases

Operations 3

POST /api/support/ask Ask our support a question (prices, plans, levels, the method, your orders, the… #
POST /api/support/disputes Dispute your product's published result (a verified claim on its domain, else… #
GET /api/support/cases/{id} A support case: open, waiting (an answer is on its way), answered (with the… #

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/agentdrives-com:agentdrives-com-support-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

agentdrives-com-support-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AgentDrives Support API
  version: 5.20.1
  license:
    name: CC BY 4.0 for the listings and the facts
    url: https://agentdrives.com/data/licence
  x-changelog: https://agentdrives.com/data/api-changelog.json
  description: 'Getting started, the calls in order: https://agentdrives.com/getting-started. What changed, dated, with removed routes and retired products: https://agentdrives.com/data/api-changelog. Each key has an hourly limit (1,000 requests; an agent''s own unclaimed account''s key: 600), an hour from the key''s first call. Every answer to a keyed call carries RateLimit-Policy ("per-key";q=;w=3600) and RateLimit ("per-key";r=;t=). Over it, every call answers 429 rate_limited with Retry-After (seconds) and a body with limit, window_s, retry_after_s and resets_at: the key is fine, wait and retry. 401 means the key itself is unknown, revoked or expired. Everything a person can do on AgentDrives, an agent can do over HTTP, with no browser and no CAPTCHA. An agent with no address of its own signs up in one call (POST /api/agents/signup: an account and a key at once, and a claim link for its person; until a person claims it or it pays for an Audit, 1 free check a day and an Audit it pays over HTTP 402). Or sign in with an emailed 6-digit code, create an API key, claim your product''s domain, prove it is yours, order drives, cancel, and delete your account. Order of steps: claim (POST /api/claims; an account email on the domain verifies at once, unless the domain is a mailbox provider''s), verify (a code mailed to an address at the domain, a DNS TXT record, a meta tag on the home page or a file), then order. The free check needs no claim (product free: private, it lists nothing); a product whose claim is verified gets one queued. Every other order without a verified claim fails with 403 claim_not_verified and the fix. Only driven products are in the directory. Errors carry a `fix` field. API keys: 1,000 requests per hour each. When online payment is on, an order returns payment.url to pay at; otherwise payment is null and the order is confirmed by email. An Audit, a Tool comparison and a data plan also return payment.agent: pay it without a person over HTTP 402 at POST /api/orders/{id}/payment, with MPP or x402: a card through a Stripe Shared Payment Token, or USDC on Base or Tempo. Every payment has a receipt, and a business that sends its details gets our invoice.'
  contact:
    email: hello@agentdrives.com
  x-guidance: 'Find software an AI agent can use on its own: POST /api/paid/find-tools with {"task": "send an invoice"} answers with ranked products, each with its agent level (0 to 5), whether an agent gets in without a person, and what our agent got done in a real drive. $0.01 a call over x402 or MPP (USDC on Base or Tempo): the first request answers 402 with the challenges. For many calls, buy credit once: POST /api/credits/topup with {"amount_usd": 5} returns an API key that holds 500 calls; send it as x-api-key. The same search is free, rate-limited per IP, at GET /api/find-tools?task=…. To have a product of your own audited: POST /api/agents/signup for a key, claim and prove its domain (POST /api/claims), POST /api/orders with product audit, then pay $499 at POST /api/orders/{id}/payment. A data plan or a Tool comparison needs no domain: POST /api/orders with product builder ($49 a month) or stack3 ($490, with urls and use_case), then pay it the same way.'
servers:
- url: https://agentdrives.com
security:
- apiKey: []
- bearer: []
tags:
- name: Support
  description: Questions, disputes and support cases
paths:
  /api/support/ask:
    post:
      operationId: supportAsk
      summary: Ask our support a question (prices, plans, levels, the method, your orders, the…
      security:
      - {}
      - apiKey: []
      - bearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                question:
                  type: string
                  maxLength: 2000
                product:
                  type: string
                  description: The product's domain or directory slug it is about
                on_behalf:
                  type: string
                  description: Whom you act for, kept on the case
              required:
              - question
      responses:
        '200':
          description: An answer from our pages, or a case
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportAnswer'
              example:
                directory: …
                answered: false
                answer: …
                match: 0
                source:
                  id: a1b2c3d4
                  url: https://linear.app
                facts:
                - id: a1b2c3d4
                  text: …
                  url: https://linear.app
                case_id: a1b2c3d4
                case_token: …
                account: {}
                by: …
        '400':
          description: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'unauthorized: no key or session sent; invalid_or_limited_credentials: the key is unknown, revoked or expired, sent as Bearer (a key goes in x-api-key), or its account is blocked. The fix says which'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Support
  /api/support/disputes:
    post:
      operationId: disputeResult
      summary: Dispute your product's published result (a verified claim on its domain, else…
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                product:
                  type: string
                  description: Your product's domain or directory slug
                checkpoint:
                  enum:
                  - docs
                  - signup
                  - verify
                  - credentials
                  - first_call
                  - first_action
                  - pay
                  - cancel
                  - delete
                claim:
                  type: string
                  maxLength: 2000
                evidence_url:
                  type: string
                  description: A public page that shows it (kept on the case, never fetched automatically)
              required:
              - product
              - checkpoint
              - claim
      responses:
        '201':
          description: The case and the re-drive's state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportCase'
              example:
                case_id: a1b2c3d4
                class: …
                state: open
                next: …
                redrive: {}
                answer: …
                answered_at: '2026-10-20T08:00:00Z'
                by: …
        '400':
          description: 'invalid_json: the body isn''t valid JSON'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Support
      security:
      - apiKey: []
      - bearer: []
  /api/support/cases/{id}:
    get:
      operationId: caseStatus
      summary: 'A support case: open, waiting (an answer is on its way), answered (with the…'
      security:
      - {}
      - apiKey: []
      - bearer: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: case_token
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The case
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportCase'
              example:
                case_id: a1b2c3d4
                class: …
                state: open
                next: …
                redrive: {}
                answer: …
                answered_at: '2026-10-20T08:00:00Z'
                by: …
        '401':
          description: 'unauthorized: no key or session sent; invalid_or_limited_credentials: the key is unknown, revoked or expired, sent as Bearer (a key goes in x-api-key), or its account is blocked. The fix says which'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: 'rate_limited: the key is over its hourly limit (limit, window_s, retry_after_s, resets_at); the key is fine, wait and retry'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait
      tags:
      - Support
components:
  schemas:
    SupportAnswer:
      type: object
      description: 'An answer from our support agent: quoted from our published pages (answered), or a case we answer in writing. answered only when one page covers the question clearly and is about what it asks (a product the question names is the page''s subject too); a question whose words fit many pages opens a case, and so does one about the directory''s data'
      properties:
        directory:
          type: string
          description: 'A question about the directory''s data (which products reach a level, in a category): the calls that answer it now, beside the case'
        answered:
          type: boolean
        answer:
          type: string
        match:
          type: number
          minimum: 0
          maximum: 1
          description: 'answered: how much of the question the quoted page covers'
        source:
          type: object
          description: 'answered: the quoted page''s id and URL'
          properties:
            id:
              type: string
            url:
              type: string
        facts:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              text:
                type: string
              url:
                type: string
        case_id:
          type: string
        case_token:
          type: string
          description: 'Without a key: keep it to read the case'
        account:
          type: object
          description: 'With a key: your own orders and claims'
        by:
          type: string
          description: 'Who answers: AgentDrives support agent'
      required:
      - answered
      - by
    Error:
      type: object
      description: 'RFC 9457 problem details (application/problem+json) with two extension members: error, machine-readable, and fix, what to do next (the same text as detail). A body sent as JSON that isn''t JSON answers 400 invalid_json on every route'
      properties:
        type:
          type: string
          format: uri
          description: https://agentdrives.com/openapi.json#<error>
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        error:
          type: string
        fix:
          type: string
          description: 'What to do next: every error has one'
      required:
      - error
      - fix
    SupportCase:
      type: object
      properties:
        case_id:
          type: string
        class:
          type: string
        state:
          enum:
          - open
          - waiting
          - answered
          - closed
        next:
          type: string
        redrive:
          type:
          - object
          - 'null'
          description: 'A dispute''s confirm re-drive: queued (state, queued_at) or why not'
        answer:
          type:
          - string
          - 'null'
          description: The answer, once a person approved it
        answered_at:
          type:
          - string
          - 'null'
        by:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 'Each key has an hourly limit (1,000 requests; an agent''s own unclaimed account''s key: 600), an hour from the key''s first call. Every answer to a keyed call carries RateLimit-Policy ("per-key";q=<limit>;w=3600) and RateLimit ("per-key";r=<left>;t=<seconds until the hour ends>). Over it, every call answers 429 rate_limited with Retry-After (seconds) and a body with limit, window_s, retry_after_s and resets_at: the key is fine, wait and retry. 401 means the key itself is unknown, revoked or expired.'
    bearer:
      type: http
      scheme: bearer
x-service-info:
  categories:
  - developer-tools
  - data
  docs:
    homepage: https://agentdrives.com/data
    apiReference: https://agentdrives.com/openapi.json
    llms: https://agentdrives.com/llms.txt