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:
API keys are issued per organization member and are organization scoped. Keep them in environment variables or a secret manager — never commit them, embed them in examples as real values, or ship them in browser-delivered JavaScript.

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:
Once paired, 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

Every 401 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.