---
title: "Get built-in community model pricing definitions"
method: GET
path: "/api/{org_id}/llm/models/built-in"
tags: ["LLM"]
---

# Get built-in community model pricing definitions

`GET /api/{org_id}/llm/models/built-in`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/llm/models/built-in`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/llm/models/built-in/get.ts> (a function with typed inputs; its response is checked against the schema)

Fetches standard model pricing from the configured community source (GitHub). Results are cached on the frontend.

## Path parameters

- `org_id` string, required

## Query parameters

- `search` string
- `metadata_only` boolean

## Response `200`

Success

- BuiltInModelPricingResponse: BuiltInModelPricingResponse
  - `last_updated` integer, required: Unix seconds of this server's last successful online sync; 0 = none since startup.
  - `models` BuiltInModelPricingEntry[], required
    - `description` string
    - `match_pattern` string, required
    - `name` string, required
    - `provider` string
    - `tiers` PricingTierDefinition[], required
      - `condition` TierCondition: Condition for a pricing tier.
        - `operator` 'gt' | 'gte' | 'lt' | 'lte' | 'eq' | 'neq': Comparison operators for tier conditions.
        - `usage_key` string: The usage key to evaluate (e.g., "input")
        - `value` number, double: Threshold value (e.g., 200000 for extended context pricing)
      - `name` string: Display name for this tier (e.g., "Default", "Extended Context")
      - `prices` object: Prices per token, keyed by usage type. Keys must exactly match usage keys produced by the span extractor: "input", "output", "cache_read_input_tokens", "cache_creation_input_tokens", etc. Values are price per single token (e.g., 0.000003 = $3/1M tokens). **Precision note:** `f64` provides ~15 significant decimal digits, which is more than sufficient for cost *estimation* on observability data. These values are not used for billing or financial accounting — they produce approximate cost figures for dashboards and alerts. The multiplication `token_count as f64 * price` is exact for token counts < 2^53 (~9 quadrillion), well beyond practical span sizes.
      - `priority` integer: Breaks ties between matching tiers before the restriction count; higher wins.
      - `rules` TierRule[]: Span-attribute rules (service tier, speed, region) that must all hold.
        - `keys` string[]: Attribute keys tried in order; compared ignoring case and `_`/`-`/`.` separators.
        - `op` 'in' | 'not_in' | 'exists' | 'not_exists' | 'gt' | 'gte' | 'lt' | 'lte' | 'unknown': Operators for [`TierRule`].
        - `value` number, double, nullable: Threshold for the numeric operators.
        - `values` string[]: Accepted values for `in` / `not_in`, compared trimmed and case-insensitively.
      - `utc_windows` UtcTimeWindow[]: Recurring UTC time-of-day windows during which this tier applies. Empty (the default) means the tier is not time-restricted. Providers such as DeepSeek publish "peak" and "off-peak" rates that repeat every day, which is a time-of-day range rather than an absolute cutover (that is what `valid_from` is for). A tier applies when the span falls in ANY of its windows *and* its `condition` (if set) passes, so windows compose with context-length tiering.
        - `end_minute` integer: Exclusive end, minutes since UTC midnight (0–1440).
        - `start_minute` integer: Inclusive start, minutes since UTC midnight (0–1440).
  - `seed_date` string, required: Date of the seed price list compiled into this binary.
  - `source_url` string, required

## Other responses

- `500`: Internal server error

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
