---
title: "Step 3 of 3, orders for your product (prices before tax; the whole offer: https://agentdrives.com/pricing.json). Every product we drive is listed with its level, free; an owner who wants every fix checked orders an Audit Drive. The free check (free, $0): what an agent sees: what it finds without a browser, the wall it would likely hit, the 3 first fixes, how the driven products in your category did and whether the product can be listed; private, never in the directory; any signed-in account, no domain proof; offers_ok: true only if you want the monthly report and offers; one per domain every 90 days (within them the call answers with the domain's latest check and next_free_at, no new check), 3 a day per account and a daily budget for everyone (429). An Audit Drive (audit, $499 one time): a new complete drive: our agent signs up like a new customer (we make the account: access answers 400 access_not_needed); every documented API route, MCP tool and CLI command checked against your docs; a security review checked by a reviewer agent (security_ok: true is your go-ahead); up to 3 rivals (rivals: URLs or directory slugs; each driven on the agent path unless the directory drove it in the last 60 days, robots.txt honoured, compared with you privately); with your discount code (pay: kind code or seat), one real purchase in your checkout, inside the price (a code works up to 10 times until 120 days after the report); your fix list; after your fixes a new drive when you ask, one at a time and at most once a day, within 120 days of the report (followup_drive); from L2 up it ends in a certificate with the level the drives find, valid 12 months. target: the level you aim for (1 to 5), shown as your goal, never promised: the level is the one the drives find, and a paid audit can come out low. Your paid plan at cost is optional (plan: include or none); fair use: one product, up to about 3 hours of driving, a fixed sampling order on very large surfaces, and the report says what was sampled. The report within 48 hours. The Audit Drive renewal (renewal, $199 a year): a new audit drive of the product and drives again after your fixes for 120 days; it opens 11 months after your audit's report and closes at 13 (409 renewal_not_open); security_ok: true, no rivals. Findings, the Full report and their upgrades are retired: drive, findings, quick, report and upgrade_from answer 400 product_retired. After a fix, a verified owner's listed product is driven again for free, up to twice a year (POST /api/claims/{id}/recheck). A drive you order is labelled Owner-paid drive. Also a Stack check (stack3 $490, stack $1,490) or a data plan (builder $49 a month: each drive's attempt log, GET /api/detail/<slug>; team $290 a month: that and the bulk export, GET /api/export). A Stack check's tool or a rival whose owner asked us to stop driving it: 409 drive_stopped. Orders for your own product need a verified claim on its domain (else 403 claim_not_verified, with the claim and the ways to verify it). When online payment is on, payment.url is returned: open it to pay. Ordering the same thing again while it waits for payment answers 200 with that order (reused: true) and its checkout, never a second order; POST /api/orders/{id}/checkout opens it again too. An Audit Drive and its renewal, a Stack check and a data plan also return payment.agent: an agent pays it over HTTP 402 (MPP or x402, POST /api/orders/{id}/payment) without a person, at the same price; an agent's own account (POST /api/agents/signup) pays only that way, an Audit Drive once its domain is verified, and may send email for the receipt. Paid over HTTP 402, a data plan runs one month and doesn't renew by itself: pay again before it ends and the next month follows on. We email you 3 days before it ends. By ordering you agree to the terms (https://agentdrives.com/legal/terms; privacy: https://agentdrives.com/legal/privacy); the order records their date. AgentDrives is for businesses: a paid order takes business: true to confirm you buy for your business (Stripe's checkout asks the business name, billing address and VAT ID), and no_offers: true to get no offers for our other products."
method: POST
path: "/api/orders"
tags: ["Orders"]
---

# Step 3 of 3, orders for your product (prices before tax; the whole offer: https://agentdrives.com/pricing.json). Every product we drive is listed with its level, free; an owner who wants every fix checked orders an Audit Drive. The free check (free, $0): what an agent sees: what it finds without a browser, the wall it would likely hit, the 3 first fixes, how the driven products in your category did and whether the product can be listed; private, never in the directory; any signed-in account, no domain proof; offers_ok: true only if you want the monthly report and offers; one per domain every 90 days (within them the call answers with the domain's latest check and next_free_at, no new check), 3 a day per account and a daily budget for everyone (429). An Audit Drive (audit, $499 one time): a new complete drive: our agent signs up like a new customer (we make the account: access answers 400 access_not_needed); every documented API route, MCP tool and CLI command checked against your docs; a security review checked by a reviewer agent (security_ok: true is your go-ahead); up to 3 rivals (rivals: URLs or directory slugs; each driven on the agent path unless the directory drove it in the last 60 days, robots.txt honoured, compared with you privately); with your discount code (pay: kind code or seat), one real purchase in your checkout, inside the price (a code works up to 10 times until 120 days after the report); your fix list; after your fixes a new drive when you ask, one at a time and at most once a day, within 120 days of the report (followup_drive); from L2 up it ends in a certificate with the level the drives find, valid 12 months. target: the level you aim for (1 to 5), shown as your goal, never promised: the level is the one the drives find, and a paid audit can come out low. Your paid plan at cost is optional (plan: include or none); fair use: one product, up to about 3 hours of driving, a fixed sampling order on very large surfaces, and the report says what was sampled. The report within 48 hours. The Audit Drive renewal (renewal, $199 a year): a new audit drive of the product and drives again after your fixes for 120 days; it opens 11 months after your audit's report and closes at 13 (409 renewal_not_open); security_ok: true, no rivals. Findings, the Full report and their upgrades are retired: drive, findings, quick, report and upgrade_from answer 400 product_retired. After a fix, a verified owner's listed product is driven again for free, up to twice a year (POST /api/claims/{id}/recheck). A drive you order is labelled Owner-paid drive. Also a Stack check (stack3 $490, stack $1,490) or a data plan (builder $49 a month: each drive's attempt log, GET /api/detail/<slug>; team $290 a month: that and the bulk export, GET /api/export). A Stack check's tool or a rival whose owner asked us to stop driving it: 409 drive_stopped. Orders for your own product need a verified claim on its domain (else 403 claim_not_verified, with the claim and the ways to verify it). When online payment is on, payment.url is returned: open it to pay. Ordering the same thing again while it waits for payment answers 200 with that order (reused: true) and its checkout, never a second order; POST /api/orders/{id}/checkout opens it again too. An Audit Drive and its renewal, a Stack check and a data plan also return payment.agent: an agent pays it over HTTP 402 (MPP or x402, POST /api/orders/{id}/payment) without a person, at the same price; an agent's own account (POST /api/agents/signup) pays only that way, an Audit Drive once its domain is verified, and may send email for the receipt. Paid over HTTP 402, a data plan runs one month and doesn't renew by itself: pay again before it ends and the next month follows on. We email you 3 days before it ends. By ordering you agree to the terms (https://agentdrives.com/legal/terms; privacy: https://agentdrives.com/legal/privacy); the order records their date. AgentDrives is for businesses: a paid order takes business: true to confirm you buy for your business (Stripe's checkout asks the business name, billing address and VAT ID), and no_offers: true to get no offers for our other products.

`POST /api/orders`

## Request

- Base URL: `https://agentdrives.com`
- URL: `https://agentdrives.com/api/orders`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `product` 'free' | 'audit' | 'renewal' | 'proof' | 'stack' | 'stack3' | 'builder' | 'team', required: free: Free check · audit: Audit Drive · renewal: Audit Drive renewal · proof: Payment proof · stack/stack3: Stack check · builder/team: data plans. The Monthly drive (monthly, yearly, verified_month, verified) is retired: 400 product_retired. Orders answer with the ids above; whoami's orders keep the stored ones (drive an Audit Drive, a renewal with renewal_of; quick and report: retired Findings and Full report orders)
  - `offers_ok` boolean: free: true only if you want the monthly agent access report and offers
  - `rivals` string[]: audit (the Audit Drive): up to 3 rival products, as URLs or directory slugs (not your own domain), compared with you privately
  - `target` integer: audit or renewal: your goal, the level you aim for (1 to 5). It shows on your dashboard as your goal, never a promise: the level is the one the drives find
  - `tool` string
  - `url` string, uri
  - `urls` string[]: Stack check: the tools to drive (stack3: up to 3; stack: 5 included, up to 10)
  - `use_case` string: Stack check: what your agents should do with the tools
  - `email` string, email: An agent's own account, a Stack check or a data plan: the address for the receipt and our mails about the order (the comparison ready, the plan's end). Optional; 400 invalid_email
  - `note` string
  - `listed` boolean: false: the drive stays private, never in the directory
  - `access` string: Not on an Audit Drive or its renewal (400 access_not_needed: we sign up ourselves). Elsewhere optional: a login, key, sandbox or coupon our agent may use past your sign-up wall
  - `pay` object: Let our agent buy your plan, at your own checkout (optional on an Audit Drive, required on a Payment proof). kind code: your discount code, that leaves $0.50 a purchase: our card pays that on the order, at cost, and cancels the plan (with authorise: true; on an Audit Drive the purchase is in the price and one code works up to 10 times until 120 days after the report); on the free checkout test a 100% off code; sandbox: a login to your checkout's test mode or sandbox; seat: no value, we email you the address our agent signed up with, and you upgrade it. Sealed, never shown back, deleted after the drive that used it
    - `kind` 'code' | 'sandbox' | 'seat', required
    - `value` string: code: 6 to 64 letters, digits, dots, dashes or underscores; sandbox: the login, up to 2,000 characters
  - `buyer` object: Optional, an Audit paid over HTTP 402: for our invoice. The price includes any VAT. An EU VAT ID that VIES confirms gets our invoice at once, with no VAT outside the Netherlands. 400 invalid_vat_id, invalid_country or invalid_buyer
    - `vat_id` string: EU VAT ID with its country prefix
    - `country` string: Two-letter code of your business's country
    - `company` string: Business name for the invoice
    - `address` string: Postal address for the invoice, one line
  - `security_ok` boolean: Your go-ahead for the Audit Drive's security review of the agent surfaces, on our own account (required for audit)
  - `business` boolean: Paid orders: true confirms you buy for your business. AgentDrives sells to businesses only (https://agentdrives.com/legal/terms#business); the order records it. Stripe's checkout asks the business name, billing address and VAT ID for the invoice
  - `no_offers` boolean: Paid orders: true and we send you no offers for our other products
  - `authorise` boolean: With pay kind code, required: true is your go-ahead, "Our agent may buy and cancel my paid plan with this code." (else 400 authorise_required)
  - `processor` 'card' | 'paddle': With pay kind code: your checkout. card: Stripe, Lemon Squeezy, Shopify or another checkout, your code leaves $0.50 and a Payment proof costs $0.87; paddle: Paddle, your code leaves $0.70 and a Payment proof costs $1.09. Default card
  - `code` string: Optional: a promotion code of ours. Its discount comes off this order, at the card checkout and over HTTP 402 (400 invalid_code when it is unknown, expired or used up)
  - `plan` object: The Audit Drive only: the owner's paid plan. The drive buys it, uses one paid feature, cancels it and asks for the refund the product's own way; the report's Paid plan section says what worked. choice include: the plan at cost is its own line on this order, and what the drive doesn't spend is refunded after the drive; self_refund: no line, you refund the drive's purchase yourself, at most $50 a month (above it 400 plan_needs_person: choose include, or write to us); none: no plan. name and price_cents (a month, in US cents) are the plan as your pricing page says (GET /api/me claims[].plan_hint suggests one); the drive spends at most that. Above $50 a month send confirm: true (else 400 plan_confirm_required); above $500 by arrangement (400 plan_too_expensive). Not on a renewal or the Monthly drive (400 invalid_plan)
    - `choice` 'include' | 'self_refund' | 'none', required
    - `name` string
    - `price_cents` integer
    - `source` 'pricing' | 'owner': pricing: you kept our suggestion (plan_hint); owner: you typed it
    - `confirm` boolean

## Response `200`

free, within 90 days of the domain's last finished free check (any account): no new check; the latest one and when the next free one opens. A paid order while the same one waits for payment: that order (reused: true), its checkout in payment.url

- FreeCheckExisting
  - `order` unknown
  - `payment` unknown
  - `queued` unknown
  - `check` object
    - `domain` string
    - `checked_at` string, date-time
    - `yours` boolean: true: your account ran it; its result: GET /api/orders/{order_id}/report. Another account's check stays private: only its date, unless you proved the domain (proved: true)
    - `order_id` string: only when yours, or when you proved the domain
    - `proved` boolean: true: you proved the domain, so you read its latest check whoever ran it
  - `next_free_at` string, date-time: when the domain's next free check opens: 90 days after this one
  - `note` string

## Other responses

- `201`: Order
- `400`: invalid_json (the body isn't JSON), invalid_product, product_retired (drive, findings, quick and report: Findings and the Full report were retired on 18 Oct 2026, order audit; upgrade_from: upgrades ended with them; bench: the Audit has the rivals now), invalid_target (target is 1 to 5, on audit or renewal), go_ahead_required (audit without security_ok: true), invalid_keep (the Monthly drive is its own order), invalid_rivals, invalid_plan, plan_confirm_required, plan_needs_person, plan_too_expensive, invalid_url, or another invalid field
- `403`: not_your_product or claim_not_verified (every order but the free check): prove the domain is yours first; the body carries the fix, the claim and the ways to verify it
- `404`: not_found
- `409`: not_listed (the Monthly drive is for a product in the directory), already_kept, talk_to_us (10 or more), renewal_not_open (a renewal opens 11 months after your Audit's report and closes at 13), renewal_automatic (it renews by itself: GET /api/billing/renewals), site_unreachable, flagged_unsafe or check_running (free check: the domain is being checked right now), drive_stopped (a Stack check's tool or an Audit Drive's rival whose owner asked us to stop driving it: name another)
- `422`: idempotency_key_reused: this Idempotency-Key came with another body in the last 24 hours
- `429`: Error as problem details (RFC 9457) with a machine-readable `error` and a `fix` that says what to do next
- `503`: billing_unavailable: online payment is switched off for a moment (paid products only; nothing was ordered or charged). Try again later

---

[API](https://skmtc.dev/agentdrives/apis/agentdrives-api.md) · [All operations](https://skmtc.dev/agentdrives/apis/agentdrives-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentdrives/apis/agentdrives-api/revisions/94dcaabff4b2?raw)
