Skip to main content
The public API moved and its resource shapes changed. This page walks through the migration for a person; the agent brief at the bottom is the same content as a ready-made task prompt you can paste into any coding agent.

The fastest path

1

Create a current API key

Legacy personal tokens did not migrate. Create an organization-scoped key in Settings → API — as yourself, or as a service user for least-privilege automation.
2

Hand the brief to an agent

Copy the agent brief below and give it to your coding agent together with access to your integration’s repository.
3

Review the report

The brief requires the agent to report changed files, removed endpoints, unsupported capabilities, and the checks it ran. Review that report before cutting over.

Base URL and authentication

https://capy.ai/api/v1 is retired; the current base is https://api.capy.ai/api/v1 (don’t append another /api or /v1). Authentication is unchanged in shape — Authorization: Bearer capy_... — but the key itself is new: legacy personal tokens were user-scoped across organizations and never migrated, so create an organization-scoped key in Settings → API. Keys have no per-endpoint scopes; for least-privilege automation, create a service user with the role and project access you want and mint the key for it. A safe smoke test for a new key:
Project IDs carried over from the legacy system, but project discovery is no longer public — keep your existing project ID in configuration, or read it from the project page in the app.

What changed

Creating a thread end to end:

Errors

The legacy { "error": { "code", "message" } } wrapper is gone. Errors are an HTTP status plus a tagged object — branch on the status first, then _tag:
Inaccessible and absent resources intentionally share the same 404, so a thread in another organization is indistinguishable from one that doesn’t exist.

Retired capabilities

If your integration depends on one of these, that dependency is a migration blocker to resolve product-side, not something to paper over in code.

Cutover checklist

  • No code, tests, or configuration reference https://capy.ai/api/v1
  • Thread creation sends a stable requestId and handles the current Thread shape
  • Stop paths call /interrupt; pagination trusts cursor and treats null as done
  • Error handling branches on HTTP status and _tag
  • The old key is revoked after the new organization-scoped key is live

Agent brief

Copy the migration md The button copies the full agent brief to your clipboard (or downloads it where clipboard access is unavailable). Paste it into your coding agent as the task prompt.