# Curbi > Can it do that, did it happen, and if it broke, here's the fix. Curbi helps developers and AI agents check agent claims against configured rules, verify signed records offline, and replay integration failures. Public tools check explicit rules; receipt examples use test keys. Check agent claims against configured rules. Verify signed statements with independently trusted keys. Keep findings as regression tests. A passing check is not authorization or independent provider confirmation. ## Run a check POST https://api.curbi.io/v1/check with Content-Type: application/json. API contract: 2026-11-01. Public rate-limited checks can omit a key. Managed metered access uses Authorization: Bearer and Idempotency-Key: . Limits: 50 replies per request, 4,000 characters per reply, 65,536 request bytes. Inspect findings on HTTP 200 even when pass is false. Respect Retry-After on HTTP 429. Paste this first check (no signup or key required): ```sh curl -sS https://api.curbi.io/v1/check \ -H 'Content-Type: application/json' \ -d '{"policy":{"prices":[{"item":"Starter","amount":49}]},"reply":"Starter is $99."}' ``` Expect pass: false with price:mismatch. This checks one configured price, not permission or provider completion. ## Access and price Local checks are free. The public MCP tools are free and rate-limited. Managed API access costs USD $1 per 1,000 checked replies ($0.001 each), billed monthly. Every reply in a batch counts separately. Default managed ceilings: 100,000 replies per key and per shared billing customer per UTC calendar month. These limit check charges, not taxes, invoice adjustments or separate billing customers. Get a key: https://curbi.io/connect/#paid-access Pricing: https://curbi.io/pricing/ Request bodies are not stored by the checker. Usage accounting and hosting metadata are separate. See https://curbi.io/privacy/. ## Connect once in your application npm install @curbi/vercel ai — https://curbi.io/connect/#vercel pip install curbi-langchain — https://curbi.io/connect/#langchain pip install curbi-llamaindex — https://curbi.io/connect/#llamaindex The framework wrappers check completed replies automatically when your application uses the wrapped model/chain/query engine. They do not intercept every tool or action. Streaming support is package-specific; read the package contract. Working policies: https://curbi.io/policies/ GitHub Action: https://github.com/Curbi-Inc/curbi-check-action Regression starter: https://github.com/Curbi-Inc/curbi-regression-template ## MCP Endpoint: https://api.curbi.io/mcp Required Accept: application/json, text/event-stream Six read-only tools: policy_check, validate_policy, search, fetch, export_regression, verify_bundle. No private projects, provider writes or execution authority. Live console and client setup: https://curbi.io/mcp/ ## Managed usage and budgets GET https://api.curbi.io/v1/usage with Authorization: Bearer . Current key only; no key/customer selectors in the URL. POST https://api.curbi.io/v1/budget with Authorization: Bearer , Content-Type: application/json and {"monthlyBudget":1000}. This lowers this key’s persistent monthly ceiling in checked replies; it cannot increase it. Zero stops new reservations. Existing reservations and completed usage remain. Open https://curbi.io/usage/#managed-usage to connect in memory, read counters, and lower the ceiling. No key is stored or exported. GET https://api.curbi.io/v1/check-records with the same authorization to export current-key completed-check metadata. Follow nextCursor with ?cursor=... until null. Records are unsigned and captured from rollout onward; earlier checks may be absent. No raw replies, policy files or API keys are exported. These records do not prove authorization or provider completion. ## Reference https://curbi.io/ai.json — complete capability manifest https://curbi.io/developers/check-api.openapi.json — HTTP schema https://curbi.io/developers/policy.v1.schema.json — policy schema https://curbi.io/docs/catalog.json — documentation catalog https://curbi.io/docs/ontology.md — separate permission, outcome and evidence boundaries https://curbi.io/verify/ — local bundle verification with caller-trusted keys https://curbi.io/proof/ — PAP specification and evidence limits https://curbi.io/status.json — exact release and production-signing status https://curbi.io/usage/ — authenticated current-key usage and lowering-only budgets; separate local sample/import explorer https://curbi.io/stories/49k/ — synthetic failure story and reproducible check https://curbi.io/chaos/ — local fault workbench https://curbi.io/promises/ — product commitments and boundaries https://curbi.io/changelog/ — release changes https://curbi.io/site-index.json — full site directory https://curbi.io/build/ — synthetic developer challenge and starter ## Evidence boundaries Public receipt verification keys and validity windows: https://api.curbi.io/.well-known/curbi-receipt-keys.json . Production signing is off. Fixtures retain explicit test-key labels. Provider test evidence is not live-money readiness. A valid signature authenticates an issuer's statement; it does not make the statement true. Synthetic labs, source distributions and historical releases retain their scope labels. Free policy profiles: https://curbi.io/policies/#profiles — choose, edit, check locally, and optionally remember a policy on this device. No signup. No automatic cross-client synchronization.