---
title: "Get Model Catalog"
method: GET
path: "/api/account/models"
tags: ["account"]
---

# Get Model Catalog

`GET /api/account/models`

Return the authoritative model catalog with an ETag for conditional GETs.

This is the source of truth the desktop backend fetches at startup and
after every ``QUADRILLION_API_KEY`` change, so new models ship via a cloud
redeploy without requiring a desktop release.  Availability filtering by
the user's own credentials happens on the desktop, with one exception:
``eap: true`` models are omitted server-side for accounts without the
``eap_access`` entitlement, because shipped desktop builds cannot be
trusted to hide them.  The ETag is therefore stable per entitlement
variant rather than across all accounts.

Alias entries are gated the same way, on the capabilities the client
declares rather than on an entitlement: a build that predates alias support
would show the entry in its picker and fail to resolve it.

Server-only data is stripped first: ``listed: false`` billing-only models
and the inline ``pricing`` block never leave the server.

The ETag is derived from the stripped catalog content; an unchanged catalog
returns ``304 Not Modified`` so the desktop leaves its local store
untouched.

## Headers

- `if-none-match` string, nullable
- `x-quadrillion-client-capabilities` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api.md) · [All operations](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/quadrillion/quadrillion-cloud-api/revisions/e99c1b6139c8/schema)
