Changelog

What changed, and what will not change on you.

An agent integration is code running unattended, not a person who reads a migration email. So the promises below are narrow enough to actually keep — a guarantee broken once is worse than none, because somebody planned around it.

Deprecation policy

What we promise.

We will not remove a field from a response without a deprecation periodNinety days, announced here and in the OpenAPI document. Your parser will not start finding `undefined` because we tidied something up.
We will not change what an existing field meansA field that changes meaning is worse than one that disappears: nothing breaks, and your code is quietly wrong. New meaning gets a new field.
We will not add a required request field to an existing endpointA request that works today keeps working. New capability arrives as optional fields or new endpoints.
We will not tighten validation on an existing endpoint without noticeRefusing something we used to accept breaks working integrations exactly as surely as removing an endpoint.
An error code will not change for the same conditionIf you branch on `POLICY_BLOCKED` today, that condition will still be `POLICY_BLOCKED`.

A deprecated field keeps working for ninety days from the announcement here, and is marked deprecated in the OpenAPI document for that whole period. Removal is announced on this page before it happens, never after.

The other half

What we deliberately do not promise.

Listing only guarantees would be a half-truth. These will change, and building code that assumes otherwise is the mistake this section exists to prevent.

Verification thresholdsThey will move as the network learns, and pinning them would mean refusing to improve accuracy. Every verification records the rule version and fingerprint that decided it, so a result stays readable after they change.
Which vision model runsIt is a provider behind an interface, and no model has ever been able to release money on its own. The verdict shape is stable; the model behind it is not.
The order Tags appear on a Partner boardThat is matching, and it will keep improving. It affects what is noticed first, never what is permitted.
Coverage, price and timingThey change by the hour and by the metre. Ask the API rather than caching an answer.

Changelog

Newest first.

2026-09-13

Verification rule versioning, and Stripe plan prices

  • Every verification now records the version and fingerprint of the rules that decided it. `verification.rules` appears on results — null on verifications written before this, which is the truth rather than a guess.
  • `GET /v1/capabilities` now returns `verification_rules`: the actual auto-approval thresholds, not a description of them.
  • Subscription plan prices are configured, so upgrades map to a plan.
2026-09-13

Temporal intelligence, the playground, and the Trust Center

  • `GET /v1/locations/history` — the same place observed twice, and a checklist-level statement of what changed. Identity by your own reference (exact) or proximity (labelled as an assumption).
  • `POST /v1/sandbox/tags` — run a Recipe without running anything. No key, no charge, nothing created. Everything synthetic is marked `simulated: true`.
  • A Trust Center at /trust, a cost comparison at /roi, and a playground at /developers/playground.
2026-09-13

Agent identity, authority, and the approval queue

  • An API key is now an agent: it has a public id, an owner, its own ceilings, the permissions it holds, and a record. `GET /v1/agents/me`.
  • `POST /v1/missions/evaluate` — would this be allowed? Runs the same function that gates the money, in dry-run mode.
  • Missions above an agent’s approval threshold return **202 with an approval id**, not an error. Nothing is created and nothing is charged until a person approves it.
  • `PUT /v1/agents/{id}/authority` — an API key can only ever narrow its own authority. Widening needs a human.
2026-09-12

Discovery: find a capability by describing it

  • `POST /v1/capabilities/search` — describe the work in your own words and get the Recipe, or an empty list and an explanation. Never a closest guess.
  • `/.well-known/irl-tagteam.json` — the agent manifest, unauthenticated, on both the site and the API.
  • `GET /openapi.json` — generated from the route table, so it cannot describe an endpoint that does not exist.
2026-09-12

Plan before you spend

  • `POST /v1/quotes` — exact price, and a timing estimate that is `null` when there is no history. Null means we do not know; it never means instant.
  • `GET /v1/capabilities` — every operation, its proof requirements, and whether a place can be served.
  • Results now carry freshness. Pass `max_age_minutes` to have evidence judged against an age you will accept; stale evidence is returned and flagged, never withheld.

This list starts where the platform started. It is not abbreviated, and there is no earlier history being withheld — a changelog that opens mid-story invites you to assume years of operation behind it.