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

Update one Provider API-key configuration or rotate its credential

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

PUT /api/v1/vendors/{id}

Adapter is immutable. Changes affect new requests; already dispatched work can finish using its original configuration. Requires installation administration or an explicitly granted platform administrator. Each configuration has independent credentials and model bindings. Credentials are write-only and never returned.

Operation: updateVendor.

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/vendors/{id}" \
-H "Authorization: Bearer $NIU_BEARER_TOKEN" \
-H 'Content-Type: application/json' \
--data @request.json

Location: path. Required.

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

Required.

JSON
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"api_base",
"enabled",
"expected_revision"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"api_base": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"api_key": {
"type": "string",
"writeOnly": true,
"minLength": 1,
"maxLength": 8192,
"description": "Omit to retain the current credential."
},
"enabled": {
"type": "boolean"
},
"expected_revision": {
"type": "integer",
"minimum": 1
}
}
}

Updated vendor metadata wrapped in data.

Content type: application/json.

JSON
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"adapter",
"api_base",
"enabled",
"revision",
"has_credential"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"adapter": {
"type": "string",
"enum": [
"openrouter",
"openai",
"anthropic",
"gemini",
"ark"
]
},
"api_base": {
"type": "string",
"format": "uri"
},
"enabled": {
"type": "boolean"
},
"revision": {
"type": "integer",
"minimum": 1
},
"has_credential": {
"type": "boolean"
},
"owner_funded": {
"type": "boolean",
"readOnly": true,
"description": "Configuration-list metadata identifying a private credential owned by one account. Not accepted in configuration writes."
},
"supplier": {
"type": [
"object",
"null"
],
"description": "Provider ownership on configuration-list reads; credentials and commercial data are excluded.",
"required": [
"id",
"name"
],
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
}
}
}
}
}
}
}

Invalid configuration or credential.

Invalid or expired administrative credential.

Platform administration permission required.

Vendor does not exist.

Stale revision or conflicting name.

Adapter is immutable. Changes affect new requests; already dispatched work can finish using its original configuration. Requires installation administration or an explicitly granted platform administrator. Each configuration has independent credentials and model bindings. Credentials are write-only and never returned.

Supported scope: implemented