Developer Preview

API docs for feature gates

A state-of-the-art dummy documentation experience for the future FeaturOx integration. Content, endpoints and SDKs are placeholders and can be replaced later without rebuilding the layout.

Target time

< 15 min.

Status

Dummy

Mode

Sandbox

Integration Console

Feature access, limits and events in one place

Preview
FeaturOx dashboard preview for API documentation
API keys
Entitlements
Webhooks

Get started

From API key to feature decision

This dummy flow shows how a future integration can work: configure the SDK, check a feature key and use the response in your product.

1
Create a sandbox key
Use an isolated test key for local development, CI and demo environments.
2
Define a feature key
Use readable keys like reports.export or seats.manage so code and dashboard share the same language.
3
Check the entitlement
Ask FeaturOx before critical actions and react to allowed, limits and reason.
TypeScriptFeaturOx
import { FeatureOx } from "@featureox/sdk"

const featureOx = new FeatureOx({
  apiKey: process.env.FEATUREOX_API_KEY,
  environment: "sandbox",
})

const access = await featureOx.entitlements.check({
  subjectId: "user_42",
  featureKey: "reports.export",
})

if (access.allowed) {
  enableExport()
}

Security

API keys, environments and signatures

Final authentication details will come later. The dummy page already shows the intended security building blocks for server-to-server integrations.

Bearer keys

Server requests use short, clearly separated API keys per environment.

Least privilege

Keys should later support scopes for read access, mutations and webhooks.

Sandbox first

All examples use placeholders and a reserved test domain.

Webhook secrets

Incoming events are verified by signature before local data is synchronized.

HTTPFeaturOx
Authorization: Bearer fo_live_placeholder_key

Feature gates

Entitlement check

The core integration path: check whether a user, account or workspace can use a feature and which limits apply.

JSONFeaturOx
{
  "subjectId": "user_42",
  "accountId": "account_acme",
  "featureKey": "reports.export",
  "context": {
    "workspaceId": "workspace_7",
    "planHint": "professional"
  }
}

Events

Webhooks for local sync

Webhooks keep your app current when plans, feature access and limits change.

JSONFeaturOx
{
  "id": "evt_placeholder_01",
  "type": "entitlement.updated",
  "createdAt": "2026-07-03T09:30:00Z",
  "data": {
    "accountId": "account_acme",
    "featureKey": "reports.export",
    "allowed": true,
    "plan": "professional"
  }
}
Recommended processing
The future product documentation can add concrete retry and signature rules here.
Verify the signature before accepting data.
Process events idempotently and store requestId.
Return a 5xx status to trigger retries when processing fails.

REST Preview

Dummy API reference

These endpoints are placeholders for the future final reference. Names and payloads stay intentionally generic.

POSTv1

/v1/entitlements/check

Check feature access

Returns allowed, reason and optional limit information for a user or account.

GETv1

/v1/features

Read the feature catalog

Lists configured feature keys and their preview status.

PATCHv1

/v1/accounts/{accountId}/plan

Update plan context

Dummy endpoint for future plan and subscription synchronization.

GETv1

/v1/accounts/{accountId}/usage

Read usage

Returns simulated usage data and limits.

POSTv1

/v1/webhook-endpoints

Register a webhook

Stores a target URL for FeaturOx events.

Error handling

Predictable error responses

Dummy errors show the planned shape: machine-readable code, clear message, requestId and a link to future documentation.

feature_not_found

Unknown feature key

The requested key is not configured in the current project.

subject_not_linked

User or account missing

The request references a user or account that is not linked to a license yet.

rate_limited

Rate limit reached

The client should wait briefly and retry with backoff.

JSONFeaturOx
{
  "error": {
    "code": "feature_not_found",
    "message": "The requested feature key is not configured.",
    "requestId": "req_placeholder_123",
    "docs": "https://featureox.test/docs/errors#feature-not-found"
  }
}
Content pending

Ready for the real specification

The layout is prepared so final API copy, real endpoints and SDK examples can be dropped in later.