Not built yet
Stated plainly so you can plan around it.
Blocking for self-serve onboarding
- The free plan grants zero credits, so a brand-new tenant cannot make an inference call until someone changes its plan — and self-serve payment is a typed 501. Onboarding therefore ends in an operator action today.
- No dashboard.
apps/webis a single README; everything is API-only. - Credits cannot be purchased. Stripe checkout and portal are typed 501.
Works but unproven
- Webhooks — zero subscriptions, zero deliveries ever.
- Per-key governance (allowlists, TPM, IP allowlists) — enforced at request time, but no route sets them. Spend caps are now settable and exercised.
- Email — no SMTP transport wired, so verification and reset links cannot actually be delivered.
Known gaps
- Stopping a launching instance waits for the launch to finish. The stop is
accepted immediately and queues behind the in-flight launch; the pod bills
until it lands. Terminating the pod at the provider directly is the only
way to stop the clock mid-launch. Always set
cost_cap_cents. - The GPU rate on an offering row lags the first pod of that SKU. The meter bills the rented pod's own rate once one is running; until then the estimate is the cheapest advertised rate, which can be ~25% low.
- No SDK. Generate from
openapi.json, or use any OpenAI SDK for inference. - No versioning or deprecation machinery. No
Deprecation/Sunsetheaders yet. - Missing OpenAI surfaces: files, batches, fine-tuning, image variations.
- Training plane unreachable — schema exists, no routes, no service.
GET /v1/billing/costsis unpaginated and ignoreslimit; it returns the whole ledger.- Embeddings ignore
dimensionsand serve one model at 1536 dimensions. - Reference images on
/v1/images/editsbill as input tokens at the text rate — there is no image-input rate field yet (one small PNG cost 1,531 input tokens on 2026-09-17). - The TLS host is a hand-written Traefik rule on the box, not a Dokploy domain; its certificate renews through that file (current one expires 2026-12-04). A real domain is still to be chosen.
Verified against the live deployment on 2026-09-17, with measurements pooled
from the first six tenants. When this document and GET /v1/openapi.json
disagree, the spec is right and this file is stale.