Operations & platform

Endpoints and behaviours for running FiniteBase in production: health checks, metrics, request tracing, rate limits and the machine-readable API description.

Health & readiness

Two unauthenticated probes, suitable for a load balancer or Kubernetes:

Probes
GET /healthz   # liveness: the process is up            -> { "status":"ok" }
GET /readyz    # readiness: dependencies (DB) reachable  -> 200 when ready

Metrics

A Prometheus exposition endpoint (no project header) for scraping request counts, latencies and error rates:

Prometheus
GET /metrics    # text/plain; version=0.0.4 exposition format

Request tracing

Every response carries an X-Request-Id. Send your own on the request and it is echoed back; otherwise the engine generates one. Include it when reporting an issue so a request can be traced end to end.

Rate limiting

The data plane is rate limited per key. When you exceed it the engine returns 429 with a Retry-After header (seconds) and the standard error envelope:

429
{ "message":"Rate limit exceeded. Please retry shortly.", "code":429,
  "type":"general_rate_limit_exceeded", "version":"1.0.0" }

Back off for the Retry-After interval before retrying.

Audit log

Privileged data-plane mutations (document, file and session create/update/delete) are recorded to an audit log, capturing what changed and when — independent of your own application logging.

OpenAPI description

The full API — routes, parameters, headers and error types — is published as an OpenAPI 3.1 document, per project:

Spec
curl "https://base.finiteskills.com/v1/openapi.json" -H "X-Appwrite-Project: <YOUR_PROJECT_ID>"

Feed it to an OpenAPI client generator, Postman or Insomnia to get a typed SDK or a ready-made request collection.