EndpointOS

Projects and resources

How a project groups resources, records, keys, logs and contracts.

All docs

Projects & resources

A project is the unit of API ownership. It groups everything one API product needs: resources (data shapes), records (the actual data), API keys (auth), consumers (named end-customers), logs, usage, contracts (versions of the API surface), and webhooks.

A resource is one data shape inside a project. Each resource has fields with types and validation rules. EndpointOS stores records for that resource as JSON, and every record gets a stable id on create.

Field types

  • string: text. Validated by length when bounds are set.
  • number: JSON number. Validated by min/max when bounds are set.
  • boolean: true/false.
  • enum: one of a fixed list of strings.
  • datetime: ISO-8601 UTC timestamp.
  • json: arbitrary nested JSON object. Use sparingly; loses validation.

Field rules

  • required: POST/PATCH that omits the field returns 422.
  • default: value applied on POST when the field is omitted.
  • Enum values: restrict an enum field to a closed set of strings.
  • Min/max: bounds on string length and number value.

Data sources

  • EndpointOS-managed: records live in our database as JSON. Zero setup. Default for new resources.
  • Supabase: records live in a table in your own Supabase project. Paste the project URL, a service-role key (encrypted at rest), and the table name. EndpointOS handles auth, validation, monthly caps, and logs every request; record CRUD is proxied to your Supabase via PostgREST.
  • External Postgres: any HTTPS-reachable Postgres (Neon, RDS, self-hosted, etc.). Connection string is encrypted at rest. Parameterised queries only; SSRF guard re-checks the host on every connect.
  • BigQuery (read-only): expose a filtered, paginated view of a warehouse table. Service-account JSON auth (bigquery.readonly scope). Parameterised SQL via the jobs.query REST endpoint.
  • Firestore (full CRUD): point a resource at a Firestore collection over the REST API. Typed-value format translated to plain JSON at the boundary so your clients never see Firestore's wire shape.
  • External REST: any HTTPS endpoint. EndpointOS becomes the stable, branded, observable front door; we proxy CRUD upstream. Optional auth header, SSRF guard on every call.

What you can't do (yet)

  • Relationships between resources (foreign keys, joins).
  • Custom validation logic (regex patterns, custom validators).

Previous: Getting started · Next: Connect your data

Projects and resources · EndpointOS docs | EndpointOS