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

Page current customer selling tariffs

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

GET /api/v1/pricing/organizations/{organization}/workspaces/{project}/tariffs

Explicit platform administration required; ordinary company/workspace roles do not grant access. Configuration only, without usage, balances, statements, content, credentials or procurement. Keyset order is workspace UUID ascending for targets, model alias ascending for tariffs. Pass next_after unchanged as after; null means complete. Limit defaults to 50, maximum 100. Each page is one database snapshot; concurrent inserts before the cursor require refreshing the first page. Missing cursor returns 409. Identifiers are API references, never display labels. Cache-Control no-store. Tariff token rates are exact nanounits per million tokens; minimum and request fees are exact currency nanounits. Empty valid workspace returns an empty page.

Operation: listPlatformCustomerTariffs.

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/pricing/organizations/{organization}/workspaces/{project}/tariffs" \
-H "Authorization: Bearer $NIU_BEARER_TOKEN"

Location: query. Optional.

JSON
{
"type": "string"
}

Location: query. Optional.

JSON
{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}

Location: path. Required.

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

Location: path. Required.

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

No request body is declared.

Configuration page

Content type: application/json.

JSON
{
"type": "object",
"required": [
"data",
"next_after"
],
"properties": {
"data": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object",
"required": [
"model_alias",
"revision",
"currency",
"created_at",
"prompt_rate",
"completion_rate",
"minimum_charge_nanos",
"request_fee_nanos",
"cached_prompt_rate",
"reasoning_completion_rate",
"cache_write_prompt_rate",
"context_tiers"
],
"properties": {
"model_alias": {
"type": "string"
},
"revision": {
"type": "string",
"format": "uuid"
},
"currency": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"prompt_rate": {
"type": "string",
"pattern": "^[0-9]+$"
},
"completion_rate": {
"type": "string",
"pattern": "^[0-9]+$"
},
"minimum_charge_nanos": {
"type": "string",
"pattern": "^[0-9]+$"
},
"request_fee_nanos": {
"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 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."
},
"discount_baseline_revision": {
"type": [
"string",
"null"
],
"format": "uuid",
"description": "Original selling-price revision for an explicit discount. API reference only; never a UI label. Resulting rates, currency, category presence and context thresholds are checked against the original. Existing requests retain their pinned revision."
},
"pricing_health": {
"type": "object",
"description": "Confidential platform-only advisory comparison against current Provider quotes; not admission authorization or a realized margin. Refresh after publication.",
"required": [
"advisory",
"checks"
],
"properties": {
"advisory": {
"type": "boolean"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"status",
"dimensions"
],
"properties": {
"route": {
"type": [
"string",
"null"
]
},
"provider": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"below_cost",
"missing_provider_price",
"comparison_unavailable",
"no_lower_unit_rates"
]
},
"message": {
"type": "string"
},
"dimensions": {
"type": "array",
"items": {
"type": "object",
"required": [
"dimension",
"minimum_input_tokens"
],
"properties": {
"dimension": {
"type": "string"
},
"minimum_input_tokens": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
},
"next_after": {
"type": [
"string",
"null"
]
}
}
}

Invalid query

Invalid management credential

Platform administration required

Company/workspace pair does not exist

Cursor absent from selected directory

Storage unavailable

Explicit platform administration required; ordinary company/workspace roles do not grant access. Configuration only, without usage, balances, statements, content, credentials or procurement. Keyset order is workspace UUID ascending for targets, model alias ascending for tariffs. Pass next_after unchanged as after; null means complete. Limit defaults to 50, maximum 100. Each page is one database snapshot; concurrent inserts before the cursor require refreshing the first page. Missing cursor returns 409. Identifiers are API references, never display labels. Cache-Control no-store. Tariff token rates are exact nanounits per million tokens; minimum and request fees are exact currency nanounits. Empty valid workspace returns an empty page.

Supported scope: implemented