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

Set API key spending limit

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

PUT /api/v1/organizations/{organization}/projects/{project}/keys/{key}/spending-limit/{currency}

Workspace/company owner or installation administrator. Cap includes settled customer charges minus refunds plus unreleased reservations, across secret rotations. Lowering below committed liability is rejected. Account and workspace limits still apply. Writes do not add funds. Null explicitly restores unlimited; omission is rejected.

Operation: setKeySpendingLimit.

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 PUT "$NIU_ORIGIN/api/v1/organizations/{organization}/projects/{project}/keys/{key}/spending-limit/{currency}" \
-H "Authorization: Bearer $NIU_BEARER_TOKEN" \
-H 'Content-Type: application/json' \
--data @request.json

Location: path. Required.

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

Location: path. Required.

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

Location: path. Required.

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

Location: path. Required.

JSON
{
"type": "string",
"pattern": "^[A-Z]{3}$"
}

Required.

JSON
{
"type": "object",
"additionalProperties": false,
"required": [
"limit_nanos",
"expected_revision"
],
"properties": {
"limit_nanos": {
"type": [
"string",
"null"
],
"pattern": "^[0-9]+$",
"description": "Nonnegative signed-64-bit nanounits or explicit null."
},
"expected_revision": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Zero for initial configuration; maximum 9223372036854775806."
}
}
}

New immutable policy revision recorded.

Content type: application/json.

JSON
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"revision": {
"type": "string",
"pattern": "^[1-9][0-9]*$"
}
}
}
}
}

Invalid amount or currency

Authentication required

Proposed limit is below committed key liability

Owner permission required

Key does not exist in the authorized workspace

Stale revision, missing account, or unresolved attribution

Missing or invalid body fields

Workspace/company owner or installation administrator. Cap includes settled customer charges minus refunds plus unreleased reservations, across secret rotations. Lowering below committed liability is rejected. Account and workspace limits still apply. Writes do not add funds. Null explicitly restores unlimited; omission is rejected.

Supported scope: implemented