api-stock-com · Schema

CatalogModelDto

AIMachine LearningLLMAPIPlatform

Properties

Name Type Description
pageUpdatedAt string Observed significant public content change, ISO 8601; omitted until a change is recorded
id string Public model id, also used as the URL slug
group string Routing group shared by related models
name string Display name
description string Marketing description
descriptionLocales object Marketing descriptions keyed by locale, for example { en: "…", ru: "…" }
type string Generation type
kind string 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 array Catalog tags
capabilities array Capability tags derived from the model's parameters
pricing array Price table; empty when the model has no published price
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
priceUnit string 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 array Input parameters, in the order the form should render them
protocols array Wire protocols available for an LLM model
View JSON Schema on GitHub

JSON Schema

api-stock-com-catalog-model-dto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/api-stock-com/json-schema/api-stock-com-catalog-model-dto-schema.json",
  "title": "CatalogModelDto",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/api-stock-com-openapi.json#/components/schemas/CatalogModelDto",
  "type": "object",
  "properties": {
    "pageUpdatedAt": {
      "type": "string",
      "description": "Observed significant public content change, ISO 8601; omitted until a change is recorded"
    },
    "id": {
      "type": "string",
      "description": "Public model id, also used as the URL slug"
    },
    "group": {
      "type": "string",
      "description": "Routing group shared by related models"
    },
    "name": {
      "type": "string",
      "description": "Display name"
    },
    "description": {
      "type": "string",
      "description": "Marketing description"
    },
    "descriptionLocales": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Marketing descriptions keyed by locale, for example { en: \"…\", ru: \"…\" }"
    },
    "type": {
      "type": "string",
      "description": "Generation type",
      "enum": [
        "TEXT",
        "MUSIC",
        "IMAGE",
        "VIDEO"
      ]
    },
    "kind": {
      "type": "string",
      "description": "Media generation model or LLM chat model",
      "enum": [
        "media",
        "llm"
      ]
    },
    "vendor": {
      "type": "string",
      "description": "Upstream vendor, e.g. Google"
    },
    "releasedAt": {
      "type": "string",
      "description": "Date the vendor released the model, `YYYY-MM-DD`; absent when never announced"
    },
    "tags": {
      "description": "Catalog tags",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "capabilities": {
      "description": "Capability tags derived from the model's parameters",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pricing": {
      "description": "Price table; empty when the model has no published price",
      "type": "array",
      "items": {
        "$ref": "#/$defs/CatalogPriceDto"
      }
    },
    "priceFrom": {
      "type": "string",
      "description": "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": {
      "type": "string",
      "description": "What one price in `pricing` and `priceFrom` buys: a whole generation, one second of output (per-second video tariffs) or 1M tokens (chat models)",
      "enum": [
        "generation",
        "second",
        "megatoken"
      ]
    },
    "params": {
      "description": "Input parameters, in the order the form should render them",
      "type": "array",
      "items": {
        "$ref": "#/$defs/CatalogParamFieldDto"
      }
    },
    "protocols": {
      "type": "array",
      "description": "Wire protocols available for an LLM model",
      "items": {
        "type": "string",
        "enum": [
          "openai",
          "anthropic"
        ]
      }
    }
  },
  "required": [
    "id",
    "group",
    "name",
    "type",
    "kind",
    "tags",
    "capabilities",
    "pricing",
    "priceUnit",
    "params"
  ],
  "$defs": {
    "CatalogParamFieldDto": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Field name as sent in `input`"
        },
        "label": {
          "type": "string",
          "description": "Label for the form control"
        },
        "description": {
          "type": "string",
          "description": "Field description"
        },
        "kind": {
          "type": "string",
          "description": "Scalar kind of the field (of its items when `isArray`)",
          "enum": [
            "string",
            "number",
            "boolean",
            "object"
          ]
        },
        "isArray": {
          "type": "boolean",
          "description": "Whether the field accepts a list of values"
        },
        "required": {
          "type": "boolean",
          "description": "Whether the field is mandatory"
        },
        "default": {
          "description": "Default value, if any",
          "nullable": true,
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "boolean"
            },
            {
              "type": "array",
              "items": {}
            }
          ]
        },
        "options": {
          "description": "Allowed values — render as a select",
          "type": "array",
          "items": {
            "$ref": "#/$defs/CatalogParamOptionDto"
          }
        },
        "minimum": {
          "type": "number"
        },
        "maximum": {
          "type": "number"
        },
        "maxLength": {
          "type": "number"
        },
        "isMedia": {
          "type": "boolean",
          "description": "Field holds a URL of user-supplied media"
        },
        "isPrompt": {
          "type": "boolean",
          "description": "Field is the model's main prompt"
        },
        "multiline": {
          "type": "boolean",
          "description": "Render as a textarea rather than an input"
        },
        "deprecated": {
          "type": "boolean",
          "description": "Field is kept for compatibility only"
        }
      },
      "required": [
        "name",
        "label",
        "kind",
        "isArray",
        "required",
        "isMedia",
        "isPrompt",
        "multiline",
        "deprecated"
      ]
    },
    "CatalogParamOptionDto": {
      "type": "object",
      "properties": {
        "value": {
          "description": "Value sent to the API",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        },
        "label": {
          "type": "string",
          "description": "Human-readable label"
        }
      },
      "required": [
        "value",
        "label"
      ]
    },
    "CatalogPriceDto": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "Cost key from the model catalog (\"default\", a resolution, a size…)"
        },
        "price": {
          "type": "string",
          "description": "Price in USD, as a string, for one unit of `CatalogModelDto.priceUnit` — a whole generation, one second of output or 1M tokens"
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether this is the model's base tier: what a request that sets no parameters is billed"
        },
        "dimensions": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resolved tariff dimensions for this price; present for matrix tariffs"
        }
      },
      "required": [
        "key",
        "price",
        "isDefault"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/api-stock-com-catalog-model-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.