Authentication
Base URL:https://api.agentic.forwardlane.com
External developers authenticate with a tenant member API key (beta), sent as a bearer token on every protected request:
Public endpoints
Exactly these endpoints require no credential:
Everything else requires a credential — including
/ (the API root), which is an operations endpoint, not a public one.
Product endpoints (/api/*)
The six live product endpoint suites accept tenant member API keys as Authorization: Bearer. A request with a missing bearer and a request with a wrong bearer both return 401 — there is no 403 distinction for bad credentials on /api/*.
Commercial control plane (/v1/*)
Tenant-scoped /v1/* routes (billing, usage, reports, CLI bridge) use the same tenant member API key. Role-gated operations (for example checkout sessions, which require an owner) return 403 when your key’s identity lacks the required role.
POST /v1/cli/pair is not unauthenticated: on the production (Postgres) deployment it requires a Better Auth owner JWT inside the request payload to issue a pairing code. Pair through the supported flow instead of calling it directly:
fl-repos cloud publish, fl-repos cloud runs, and fl-repos cloud usage use the tenant credential. Run fl-repos doctor to diagnose local configuration.
Service JWTs and service principals exist but are internal/enterprise mechanisms — they are not the way external developers integrate during the beta.
Webhooks
POST /v1/billing/webhooks/polar authenticates with Polar webhook signature headers. It does not accept a bearer token.
Error semantics
Every401 and 403 response body carries a docs_url field pointing back to this guide:
Beta notes
- Credits run in shadow mode during the beta: usage is metered (
GET /v1/billing/usage) but nothing is charged. - Per-call x402 payments are coming soon; they are not accepted today.