Skip to content
Niu DocsNiu 牛元文档
Dashboard控制台

Read an immutable Provider procurement quote

Generated from the checked-in source. Do not edit this reference by hand.

GET /api/v1/providers/{provider}/offers/{offer}/revisions/{revision}

Installation administrators or active members of this Provider may read a quote. Ordinary company/workspace ownership grants no procurement access. Provider, offer and revision must all match; inaccessible or missing records return 404. Text prices are exact currency nanounits per million tokens. Media revisions have null text prices; use the separate media rate-card contract. This read does not activate, qualify or reprice an offer. Procurement data must never be exposed in customer workspace billing. Internal identifiers are API references, not display labels.

Operation: getProviderOfferRevision.

Use the credential and permission scope described above. Each object below is an alternative; schemes within one object are required together.

JSON
[
{
"bearerAuth": []
}
]

Set NIU_ORIGIN to your installation origin (without /v1). Replace path, query and header placeholders with the required values. Query examples use curl 7.87 or newer to encode values with --url-query. Use the credential scope described above; a bearer token must have the authority required by this operation.

Shell
curl --fail-with-body -X GET "$NIU_ORIGIN/api/v1/providers/{provider}/offers/{offer}/revisions/{revision}" \
-H "Authorization: Bearer $NIU_BEARER_TOKEN"

Location: path. Required.

JSON
{
"type": "string",
"format": "uuid"
}

Location: path. Required.

JSON
{
"type": "string",
"format": "uuid"
}

Location: path. Required.

JSON
{
"type": "string",
"format": "uuid"
}

No request body is declared.

Immutable procurement quote; no upstream credentials or endpoint.

Content type: application/json.

JSON
{
"type": "object",
"additionalProperties": false,
"required": [
"data"
],
"properties": {
"data": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"revision",
"model_alias",
"created_at",
"rate_kind",
"currency",
"prompt_rate",
"completion_rate",
"cached_prompt_rate",
"reasoning_completion_rate",
"cache_write_prompt_rate"
],
"properties": {
"revision": {
"type": "string",
"format": "uuid"
},
"model_alias": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rate_kind": {
"const": "text"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"prompt_rate": {
"type": "string",
"pattern": "^[0-9]+$"
},
"completion_rate": {
"type": "string",
"pattern": "^[0-9]+$"
},
"cached_prompt_rate": {
"type": [
"string",
"null"
],
"pattern": "^[0-9]+$"
},
"reasoning_completion_rate": {
"type": [
"string",
"null"
],
"pattern": "^[0-9]+$",
"description": "Reported reasoning output is a subset of total completion tokens. A configured rate prices that subset separately; missing quantity remains unresolved."
},
"cache_write_prompt_rate": {
"type": [
"string",
"null"
],
"pattern": "^[0-9]+$",
"description": "Reported cache-write input is a disjoint subset of aggregate input. A configured Provider rate prices it separately; missing quantity remains unresolved."
},
"context_tiers": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"minimum_input_tokens",
"prompt_rate",
"completion_rate"
],
"properties": {
"minimum_input_tokens": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Positive inclusive aggregate input threshold, at most 9223372036854775807."
},
"prompt_rate": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Integer currency nanounits per million tokens, at most 1000000000000000."
},
"completion_rate": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Integer currency nanounits per million tokens, at most 1000000000000000."
},
"cached_prompt_rate": {
"type": [
"string",
"null"
],
"pattern": "^[0-9]+$",
"description": "Integer currency nanounits per million tokens, at most 1000000000000000."
},
"cache_write_prompt_rate": {
"type": [
"string",
"null"
],
"pattern": "^[0-9]+$",
"description": "Integer currency nanounits per million tokens, at most 1000000000000000."
},
"reasoning_completion_rate": {
"type": [
"string",
"null"
],
"pattern": "^[0-9]+$",
"description": "Integer currency nanounits per million tokens, at most 1000000000000000."
}
}
},
"description": "Complete whole-request schedules; highest inclusive input threshold wins. Null category rates do not inherit the base schedule. Empty array clears tiers; omitting existing tiers conflicts."
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"revision",
"model_alias",
"created_at",
"rate_kind",
"currency",
"prompt_rate",
"completion_rate",
"cached_prompt_rate",
"reasoning_completion_rate",
"cache_write_prompt_rate"
],
"properties": {
"revision": {
"type": "string",
"format": "uuid"
},
"model_alias": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rate_kind": {
"const": "media"
},
"currency": {
"type": "null"
},
"prompt_rate": {
"type": "null"
},
"completion_rate": {
"type": "null"
},
"cached_prompt_rate": {
"type": "null"
},
"reasoning_completion_rate": {
"type": "null",
"description": "Reported reasoning output is a subset of total completion tokens. A configured rate prices that subset separately; missing quantity remains unresolved."
},
"cache_write_prompt_rate": {
"type": "null",
"description": "Reported cache-write input is a disjoint subset of aggregate input. A configured Provider rate prices it separately; missing quantity remains unresolved."
}
}
}
]
}
}
}

Malformed path identifier.

Management authentication required.

Provider membership denied or quote identity not found.

Storage unavailable.

Installation administrators or active members of this Provider may read a quote. Ordinary company/workspace ownership grants no procurement access. Provider, offer and revision must all match; inaccessible or missing records return 404. Text prices are exact currency nanounits per million tokens. Media revisions have null text prices; use the separate media rate-card contract. This read does not activate, qualify or reprice an offer. Procurement data must never be exposed in customer workspace billing. Internal identifiers are API references, not display labels.

Supported scope: implemented