# Changelog

What changed in the Arettic API (1.0.0-pre), MCP server, SDKs, scores, pass rules, pricing and site, newest first. RSS: https://arettic.com/changelog.xml

## 2026-09-30: Open JSON Schemas and the outcome receipt spec
_API, Docs_

- 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.

## 2026-09-30: Developer docs, changelog and status
_Docs, Site_

- 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`.

## 2026-09-29: Error codes the SDKs raise themselves
_SDKs, Docs_

- `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.

## 2026-09-29: Ask for your stored data to be deleted
_API, Dashboard_

- 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.

## 2026-09-29: TypeScript and Python SDKs, and a local MCP server
_SDKs, MCP_

- `@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`.

## 2026-09-29: Private benchmarks and the provider view
_API, Dashboard, Scores_

- 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`.

## 2026-09-29: Everything in the dashboard works through the API
_API, Dashboard_

- 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.

## 2026-09-29: Customer dashboard, receipts and disputes
_Dashboard, API_

- 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`.

## 2026-09-29: Execute: pay only for results that pass
_API, Pass rules, Pricing_

- `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.

## 2026-09-29: Credits, top-ups and plans
_Pricing, API, Dashboard_

- 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`).

## 2026-09-28: Recommend, scores and public data
_API, Scores, MCP, Site_

- `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`.

## 2026-09-28: Accounts, orgs and agent keys
_API, Dashboard_

- 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`.

This page as HTML: https://arettic.com/changelog · Markdown: https://arettic.com/changelog.md · JSON: https://arettic.com/changelog.json
