---
title: "Get one catalog entry by model id"
method: GET
path: "/api/v1/catalog/{id}"
tags: ["Catalog"]
---

# Get one catalog entry by model id

`GET /api/v1/catalog/{id}`

## Request

- Base URL: `https://api.api-stock.com`
- URL: `https://api.api-stock.com/api/v1/catalog/{id}`
- Auth: none declared

## Path parameters

- `id` string, required

## Response `200`

- CatalogModelDto
  - `pageUpdatedAt` string: Observed significant public content change, ISO 8601; omitted until a change is recorded
  - `id` string, required: Public model id, also used as the URL slug
  - `group` string, required: Routing group shared by related models
  - `name` string, required: Display name
  - `description` string: Marketing description
  - `descriptionLocales` object: Marketing descriptions keyed by locale, for example { en: "…", ru: "…" }
  - `type` 'TEXT' | 'MUSIC' | 'IMAGE' | 'VIDEO', required: Generation type
  - `kind` 'media' | 'llm', required: Media generation model or LLM chat model
  - `vendor` string: Upstream vendor, e.g. Google
  - `releasedAt` string: Date the vendor released the model, `YYYY-MM-DD`; absent when never announced
  - `tags` string[], required: Catalog tags
  - `capabilities` string[], required: Capability tags derived from the model's parameters
  - `pricing` CatalogPriceDto[], required: Price table; empty when the model has no published price
    - `key` string, required: Cost key from the model catalog ("default", a resolution, a size…)
    - `price` string, required: Price in USD, as a string, for one unit of `CatalogModelDto.priceUnit` — a whole generation, one second of output or 1M tokens
    - `isDefault` boolean, required: Whether this is the model's base tier: what a request that sets no parameters is billed
    - `dimensions` object: Resolved tariff dimensions for this price; present for matrix tariffs
  - `priceFrom` string: Headline price in USD, in the same unit as `pricing` (see `priceUnit`): the base-tier price for media models (or the cheapest complete tariff variant when no base tier resolves), the input-token rate for chat models
  - `priceUnit` 'generation' | 'second' | 'megatoken', required: What one price in `pricing` and `priceFrom` buys: a whole generation, one second of output (per-second video tariffs) or 1M tokens (chat models)
  - `params` CatalogParamFieldDto[], required: Input parameters, in the order the form should render them
    - `name` string, required: Field name as sent in `input`
    - `label` string, required: Label for the form control
    - `description` string: Field description
    - `kind` 'string' | 'number' | 'boolean' | 'object', required: Scalar kind of the field (of its items when `isArray`)
    - `isArray` boolean, required: Whether the field accepts a list of values
    - `required` boolean, required: Whether the field is mandatory
    - `default` union: Default value, if any
      - string
      - number
      - boolean
      - unknown[]
        - unknown
    - `options` CatalogParamOptionDto[]: Allowed values — render as a select
      - `value` union, required: Value sent to the API
        - string
        - number
      - `label` string, required: Human-readable label
    - `minimum` number
    - `maximum` number
    - `maxLength` number
    - `isMedia` boolean, required: Field holds a URL of user-supplied media
    - `isPrompt` boolean, required: Field is the model's main prompt
    - `multiline` boolean, required: Render as a textarea rather than an input
    - `deprecated` boolean, required: Field is kept for compatibility only
  - `protocols` string[]: Wire protocols available for an LLM model

## Other responses

- `404`: Model not found

---

[API](https://skmtc.dev/api-stock/apis/api-stock-api.md) · [All operations](https://skmtc.dev/api-stock/apis/api-stock-api/llms.txt) · [OpenAPI document](https://skmtc.dev/api-stock/apis/api-stock-api/revisions/f71e13198386?raw)
