API versions and deprecation
How the HTTP API is versioned, how a name that changes keeps working, and the headers that tell your code a path is being retired. The same rules cover the SDKs, the CLI and the MCP tools.
Versions#
Every path starts with /v1. The OpenAPI document at
https://api.withruntime.com/v1/openapi.json gives the version of the API in
info.version; it is 0.2.0.
The 0.1.0 routes under /v1/resources were removed on 22 September 2026. Each
returns 410 with the code upgrade_required, and details.replacement names
the route that replaced it. The migration guide maps each old call
to its new one.
When a name changes#
Each product has one plural name in every path, SDK call, command and MCP tool:
/v1/sandboxes, runtime.sandboxes, runtime sandboxes, runtime_sandboxes.
When a name changes, the old one keeps working for 30 days:
- From the day the new name ships, a request to the old path is served as
the new one. Each response carries a
Warningheader with the new name and aLinkto the new path (rel="successor-version"). The SDKs and the CLI print the warning once; an MCP response carries it aswarning. - Once the last day is set, responses also carry
Deprecation(RFC 9745, the day the rename shipped) andSunset(RFC 8594, the last day), and the warning names that day. - From the last day, the old name returns
410with the codename_retired, and itshintnames the new one.
A field renamed in a response follows the same 30 days, with the same code once it stops.
httpHTTP/2 200Warning: 299 runtime "/v1/tunnel is now /v1/networks/wireguard."Link: </v1/networks/wireguard>; rel="successor-version"What to do#
- Read
WarningandSunseton responses, or let the SDK print them. Move to the new name before its last day. - Treat
410 name_retiredand410 upgrade_requiredas a sign that the code must change, never as a reason to retry. Thehintnames what to call instead. - The API reference holds the same rules beside every route.