Skip to main content
Two endpoints. Both require X-Platform-Key. /admit is the primary entry point for products — it’s the one you call on every user request.

GET /engines/

Look up the engine for a user. Read-only. Doesn’t trigger provisioning.

Request

Response (200)

If the engine is stopped or sleeping, the URL may still be set (the container is just paused). Check status.

Errors

  • 404 ENGINE_NOT_FOUND — no engine for this user_id.

POST /engines//admit

The product’s main call. Goes through:
  1. Rate limit check (policy.check_admit).
  2. Lookup in the registry.
  3. Auto-provision if no engine and auto_provision=true.
  4. Auto-wake if engine is sleeping and auto_wake=true.
  5. Return the engine’s URL + key, or denial.

Request

Response (200)

Admitted:
Not admitted:

When admitted is false

Errors

  • 429 RATE_LIMITED — product over rate_limit_rpm.
  • 429 QUOTA_EXCEEDED — product at max_engines (only when auto_provision=true and a provision was attempted).
  • 503 PORT_EXHAUSTION — port allocator empty.
  • 504 BOOT_TIMEOUT — auto-provisioned engine didn’t become healthy.

When to use which

/admit is idempotent and safe to call on every user request. It handles the rate-limit and quota concerns for you.

See also