Documentation

API Overview

Decide when to use the SDK, which API plane to call, and how authentication differs across them.

API Overview

These docs only cover the public project-scoped API your application is expected to call directly.

Public project API

The /v1/* endpoints are authenticated with a project API key.

Use them from your product runtime when you need authorization decisions or project-scoped configuration.

Current public endpoints in local code:

  • GET /v1/config
  • POST /v1/check
  • POST /v1/check/batch
  • POST /v1/subjects/upsert

Customer-facing contract pages:

SDK or raw HTTP

Use the SDK when:

  • you are integrating from Go
  • you only need the project-scoped /v1/* surface
  • you want less transport boilerplate

Use raw HTTP when:

  • you are not writing Go
  • you want full control over retries, tracing, or client behavior

Authentication headers

Public API:

Authorization: Bearer <project-api-key>
Content-Type: application/json

Error shape

Most validation and request-shape failures return JSON with an error field.

{
  "error": "subject is required"
}

POST /v1/check fails closed for internal evaluation issues and returns:

{
  "allowed": false,
  "reason": "error"
}

POST /v1/check/batch returns a JSON error response for request-level failures, but per-item evaluation failures remain inside a 200 OK batch response with results[].reason = "error".