---
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.

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

## 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/dcf9b4550387/schema)
