Skip to content

API addresses ​

Since AGNT2-552 the Agentfy API uses the same address scheme as every product on the core (Bonsite, Securify, Shiffty, Store Deputy).

  • Every business route answers under /v1: /v1/agents/…, /v1/teams/:teamId/…, /v1/auth/…, /v1/admin/…. The partner API stays exactly where it was: /v1/orgs/….
  • Swagger UI is at /docs, its JSON at /docs-json.
  • A few entry points have no version, because their address is written down outside this repository — in a probe, a provider's dashboard, a link already handed out, a customer's server. They are listed, each with its reason, in NEUTRAL_ROUTES (api/src/slices/setup/core/routing/apiRoute.ts), and a test holds that list and the router to each other:
RouteWhy it has no version
GET /healthreadiness/liveness probes, .orca/verify.sh, the demo
POST /billing/webhookthe payment provider's webhook URL
POST /a2a/v1/agents/:idthe A2A endpoint inside agent cards (its v1 is the protocol's)
GET /agent-cards/:token, GET /agents/:id/card/well-knowncard links read by other agents
POST /agents/:id/channels/bridle/visitorthe embed key's token mint, called by your website backend
GET /files/:id/contentsigned download links already sent
GET /canvases/…, GET /published/…signed artifact links and published pages already shared

The worker channel (/runtime/control, /runtime/device — WebSocket) and the Bridle hub (/visitor, /ws/client on its own port) are not Nest routes and did not move.

The old addresses ​

Until 2026-12-31 the unversioned addresses keep answering: /agents/… is read as /v1/agents/…, /admin/v1/orgs/… as /v1/admin/orgs/…, /api as /docs. The answer is the new route's own, plus two headers:

Deprecation: true
Link: </v1/agents/…>; rel="successor-version"

The API logs each old route once. Move a client over by putting /v1 in front of the path; the response bodies, error envelope, ids and authorisation did not change.