EndpointOS

EndpointOS docs

How to package, operate, and ship an API as a product. Read top-to-bottom for the full picture, or jump to a section.

5-minute start

Make your first authenticated request in any stack. Snippets below switch language; replace you, your-project, and your-resource with your own.

Full walk-through
curl -X POST https://endpointos.dev/api/public/you/your-project/your-resource \
  -H "Authorization: Bearer sapi_live_..." \
  -H "Content-Type: application/json" \
  -d '{"title":"Add dark mode"}'

Start here

Pick the line that describes you. Each path is ordered, so following it top to bottom gets you to a working API without reading the rest of this page.

Put an API in front of data I already have

Your data lives in BigQuery, Postgres, Supabase, Firestore, or behind an API you already run.

  1. Pick your data source: Each source has its own guide: what to grant, what it can and cannot do, and what to check when it fails.
  2. Create a project: A project is the unit of API ownership. Everything else hangs off it.
  3. Connect the source and let it detect your schema: Enter credentials, pick a table from your own data, and the fields are read from real rows.
  4. Issue an API key: Nothing is reachable until a key exists. Keys are shown once and stored hashed.
  5. Check what your source supports: Filtering, sorting, search and paging differ per source. Your resource docs state which apply.
  6. Hand the docs to whoever is integrating: Every project gets generated docs, an OpenAPI document, and a versioned contract.

Start from nothing and build an API

You have no database yet, or a CSV, or a stream of JSON you want to keep.

  1. Create a project and a resource: Define the fields you want. EndpointOS stores the records for you.
  2. Get data in: Write through the API, import a CSV, or post JSON and let the schema be inferred.
  3. Issue an API key: Scope it to the resources it should reach, and rotate it without downtime.
  4. Understand your limits: Monthly request caps, per-key rate limits, and storage, so nothing surprises you.
  5. Add consumers when you have more than one caller: A named consumer gets its own keys, its own quota, and its own usage view.

Integrate against an API built on EndpointOS

Someone gave you a base URL and a key. You are writing the client.

  1. Read that project's generated docs: Every project publishes its own docs and OpenAPI, including exactly which query controls its data source honours.
  2. Authenticate: One header. The same key shape for every endpoint.
  3. Filter, sort and page: Supported controls vary by data source. An unsupported one is a clear 400, never a silently ignored parameter.
  4. Handle errors: Stable error codes, so you branch on error.code rather than on a message. The full table is in the project's own generated docs.
  5. Know the rate limits: Per key and per minute, with the reset time in the response.

Everything below is reference material, organised by topic. It is here to be looked up, not read front to back.

Reference

One page per topic, so you can link to the one you mean. Each is written to be looked up rather than read in order.

Getting startedCreate a project, define a resource, issue a key, make your first call.Projects and resourcesHow a project groups resources, records, keys, logs and contracts.Connect your dataEvery data source, with its own setup guide and what it can and cannot do.7 setup guidesAPI keysIssue, scope, rotate and revoke. Shown once, stored hashed.ConsumersName the people calling your API, give each their own keys and quota.LimitsMonthly requests, per-key rate limits, storage, and what happens at the edge.Billing and subscriptionsPlans, what counts toward usage, and how to change or cancel.WebhooksSigned delivery, retries with backoff, and how to verify a payload.Logs and auditEvery request logged and filterable, plus an audit trail of account actions.AI agentsLet Claude Code or Codex build and evolve your APIs from your editor.Contracts and versioningPublish a version, keep it stable, and let consumers see what changed.MFATwo-factor enrolment for your own account.TeamsShared workspaces, invitations and member roles.

Something missing?

These docs cover the product as it stands today. New surfaces ship regularly; see the /changelog for what's new. If you can't find what you're looking for, email support@baseframelabs.com and we'll either point you at the right page or add one.