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:
| Route | Why it has no version |
|---|---|
GET /health | readiness/liveness probes, .orca/verify.sh, the demo |
POST /billing/webhook | the payment provider's webhook URL |
POST /a2a/v1/agents/:id | the A2A endpoint inside agent cards (its v1 is the protocol's) |
GET /agent-cards/:token, GET /agents/:id/card/well-known | card links read by other agents |
POST /agents/:id/channels/bridle/visitor | the embed key's token mint, called by your website backend |
GET /files/:id/content | signed 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.