Models and providers
The provider gallery, the setup wizard, workspace Models accounts, and the model catalog.
Bring your own key
Organization and workspace provider keys, how they are stored, and which requests they cover.
Model policy
Provider and model deny lists, the three compliance flags, and what a denial returns.
Usage and spend
Platform credit, pre-authorized budgets, the per-user request limit, and the Usage page.
Gateway configuration
The variables on the model path, the error envelope, and self-hosted differences.
What runs today
The model catalog held 75 rows from eleven model manufacturers — the company that built the model, such as OpenAI, Google or Mistral — when this page was written, and only the 25 that route through OpenAI or Anthropic execute. The rest still appear in the policy screens, but a turn that selects one cannot be routed and fails with “The AI provider is currently unavailable. Please retry.” (HTTP 502). Models and providers has the catalog itself: the manufacturers, the fields on a row, and why the app rather than this page is the list to trust.
The chat composer has no model picker in this release. Which model a turn uses is resolved on the server from the thread’s model and your organization’s policy, not chosen per message. A new thread defaults to
openai/gpt-5.6-luna, so in practice that is the model a turn runs on unless the thread was created with another id. The one composer control that changes it is Study Mode, and the model it pins cannot execute — see Model policy.
Where the gateway surfaces in the app: the sidebar's Model Gateway area opens this Models page in organization settings, and the Models and Custom Endpoints tabs above the grid are the whole page. The two providers that can run a request, OpenAI and Anthropic, are two tiles in this grid, and nothing on the grid itself marks them apart from the other 30.
How a request flows
Three gates, one provider call, one ledger:- Policy. Your organization’s disabled providers, disabled models and Zero Data Retention requirement — allow only models the catalog marks as not retaining data — are evaluated first. A denial is HTTP 403, and it happens before any spend is reserved and before a provider is contacted. See Model policy.
- Credential. A workspace Models account — a provider account saved in the app, holding one encrypted key and the list of models it may run — wins when one covers the model and you are allowed to use it; otherwise your organization’s or workspace’s own provider key; otherwise the platform-funded OpenAI key. A request that runs on your own key skips the reservation step entirely. Bring your own key gives the exact order.
- Spend. Platform-funded and paid-seat turns reserve an estimate against the balance before the model runs, then settle to the real cost once the answer finishes. An exhausted balance is HTTP 429. See Usage and spend.
- Provider. The answer streams back through the same layer, which sets the output cap and the provider options.
- Records. Every turn that reaches the provider writes a usage row (tokens, model, cost, and whether your own key paid) and one structured request log line carrying the model, the policy outcome, tokens and cost — never the prompt or the completion. A direct chat answer also writes a
response.finalizedreceipt carrying the same analytics, and Replay reads that stream back.
openai/text-embedding-3-small, on your organization’s OpenAI key or on the platform key when there is none; they reserve and settle spend and write a usage row like any other call, but the provider and model deny lists are not evaluated for them. Background runs are OpenAI-only because Factory ships only an OpenAI adapter, and a platform-funded run has to present the credit reservation its chat turn already made before Receipt hands it the server key.
For the exact message a user sees at each gate, see Errors and limits.
A checkpoint, not a proxy
Every model call Receipt itself makes is resolved and funded on the server. Nothing else can reach that path: there is no OpenAI-compatible endpoint, no/v1/* route and no proxy anywhere in the product, so you cannot point another application’s SDK at Receipt and have it inherit your policy.
The Custom Endpoints tab on the Models page points the other way. It offers to “Add an OpenAI-compatible or self-hosted inference endpoint and then select the models it exposes” — that is Receipt calling your endpoint as a provider, not your application calling Receipt. Its Add custom endpoint button opens the Self-Hosted Model tile, which is one of the 30 catalog previews and cannot be saved yet.
Where it lives in the app
The sidebar area is titled Model Gateway, described as “Manage models and try them in the playground”, and holds two items: Models and Playground. Models has no page of its own — it opens/organization/settings/models, the provider gallery in organization settings, which is owner and admin only. A member who reaches that URL is returned to the app root with no access-denied screen. /model-gateway itself has no index page and renders an empty column.
Next step: connect a provider and choose its models.