Changelog · API 1.0.0-pre

What changed.

Every change an agent or a customer can see: endpoints, rules, limits, pages. Newest first. Subscribe with RSS, or read it as Markdown or JSON.

APIDocs

Open JSON Schemas and the outcome receipt spec

  • JSON Schemas (2020-12) for receipts, execute requests and responses, webhook events and pass rules, at /schemas/{name}.json (index: /schemas), under CC BY 4.0.
  • The outcome receipt spec, v1: every field, the rules, and how the hashes are made (SHA-256 of canonical JSON), so anyone can verify a receipt against the data they kept.
  • A Python receipt verifier next to the score formula in the open benchmark harness.
DocsSite

Developer docs, changelog and status

  • Docs for every part of the API: quickstart, authentication, test mode, recommend, execute, jobs, receipts, disputes, budgets and approvals, webhooks, the org API, MCP, the SDKs, scores, pass rules, credits, data handling, rate limits and public data.
  • Every docs page has a Markdown and a JSON copy: add .md or .json to its URL, or send Accept: text/markdown.
  • This changelog, as /changelog.md, /changelog.json and an RSS feed at /changelog.xml.
  • Terms and privacy drafts at /terms and /privacy.
SDKsDocs

Error codes the SDKs raise themselves

  • network_error, timeout, aborted, unexpected_redirect, connection_failed and http_error are listed on /docs/errors, so every doc_url an SDK hands you resolves.
  • GET and DELETE on /mcp answer 405 method_not_allowed: the MCP server is stateless and takes POST only.
APIDashboard

Ask for your stored data to be deleted

  • An owner can ask us to delete the org's stored inputs, results and private test sets from Team in the dashboard, or with POST /v1/orgs/{orgId}/deletion-requests. It is done within 24 hours and we email you when it is.
  • GET /v1/orgs/{orgId}/deletion-requests shows each request and when it is done by. Org keys can read requests; making one needs an owner signed in.
  • New error credits_frozen: purchases are declined while we look into something on the account; sign-in and reads keep working.
SDKsMCP

TypeScript and Python SDKs, and a local MCP server

  • @arettic/sdk (TypeScript) and arettic (Python) cover every agent and org endpoint, with retries on reads and on execute (its idempotency key makes a retry safe).
  • @arettic/mcp runs a local stdio MCP server that forwards to the hosted one, for clients that don't speak Streamable HTTP.
  • The hosted MCP server has all nine tools: list_task_types, recommend, get_tool, execute, get_job, get_receipt, open_dispute, get_approval and get_balance.
APIDashboardScores

Private benchmarks and the provider view

  • Pro orgs can upload their own test set and benchmark any tools on it: POST /v1/orgs/{orgId}/test-sets, then POST /v1/orgs/{orgId}/benchmarks. Results stay private to the org.
  • Providers can claim their listing and see a read-only view of their scores, failure reasons and demand: GET /v1/orgs/{orgId}/provider.
APIDashboard

Everything in the dashboard works through the API

  • Org API keys (ok_…, read or write, one org) drive every dashboard action. Make them on Team, or with POST /v1/orgs/{orgId}/keys while signed in.
  • The dashboard meets WCAG 2.2 AA and never shows a CAPTCHA.
DashboardAPI

Customer dashboard, receipts and disputes

  • Spend by day, agent and tool, balance, and how many items cost you nothing: GET /v1/orgs/{orgId}/dashboard.
  • Receipt explorer with filters and a CSV export: GET /v1/orgs/{orgId}/receipts, GET /v1/orgs/{orgId}/exports/receipts.csv.
  • Dispute a charged item within 7 days: POST /v1/disputes (agent key) or POST /v1/orgs/{orgId}/disputes. We decide within 48 hours against the stored result; upheld means a refund to where the credits came from, and it counts against the tool's score.
  • Signed webhooks with 24 hours of retries, plus emails, for the single event list: POST /v1/orgs/{orgId}/webhooks, GET /v1/orgs/{orgId}/events.
APIPass rulesPricing

Execute: pay only for results that pass

  • POST /v1/execute runs any of the 30 curated tools with one key. Each result is checked against the published pass rule for its task type: pass is charged, fail releases the hold and returns the reason, provider errors are never charged.
  • Up to 1,000 inputs per request; over 25 runs as a job (GET /v1/jobs/{id}).
  • Idempotency keys: a retry with the same key is never charged twice.
  • Opt-in fallback to the next-best tool, budgets and approval thresholds per agent (GET /v1/approvals/{id}), IP allowlists, and receipts for every purchase (GET /v1/receipts/{id}).
  • Inputs and results are stored encrypted for 7 days (longer only while disputed), then deleted.
PricingAPIDashboard

Credits, top-ups and plans

  • Buy credits in US dollars (1 credit = $0.001): POST /v1/orgs/{orgId}/topups. An invoice for every top-up: GET /v1/orgs/{orgId}/invoices.
  • $1 of trial credit when you make your org; auto-reload from a saved card (PUT /v1/orgs/{orgId}/auto-reload). Paid credits expire after 12 months.
  • The Pro plan: POST /v1/orgs/{orgId}/subscriptions. Prices are recomputed daily from each tool's cost and pass rate; moves over 20% are reviewed before they apply (GET /v1/pricing).
APIScoresMCPSite

Recommend, scores and public data

  • POST /v1/recommend: tools ranked for a task, with every score input, the price per success and the pass rule.
  • Weekly scores from our own benchmarks plus live results (formula at GET /v1/formula), published under CC BY 4.0 with no key: GET /v1/tools, GET /v1/scores, GET /v1/task-types.
  • /llms.txt, /llms-full.txt, /openapi.json and /.well-known/mcp.json for agents; a Markdown and JSON copy of every page.
  • Rate limits reported in RateLimit-* headers; a 429 carries Retry-After.
APIDashboard

Accounts, orgs and agent keys

  • Sign in with an email link or Google, verify a phone, make an org and invite your team (owners and members).
  • Agents with their own sk_test_… and sk_live_… keys (rotate or revoke any time). Test keys call deterministic mock providers for free.
  • One error envelope everywhere, { error: { code, message, doc_url, retryable } }, with every code on /docs/errors.