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

Record a Provider offer qualification review

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

PUT /api/v1/providers/{provider}/offers/{offer}/qualification

Platform administration required. Requires current Provider business qualification, matching current rate_revision and a current media offer binding where applicable; otherwise 409. Records a new immutable review and audit, then selects that review. Evidence digests must represent independently reviewed facts; this operation does not validate their content, negotiate rates, call upstream or activate the offer.

Operation: qualifyProviderOffer.

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/providers/{provider}/offers/{offer}/qualification" \
-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"
}

Required.

JSON
{
"type": "object",
"additionalProperties": false,
"required": [
"rate_revision",
"model_identity_sha256",
"protocol_matrix_sha256",
"data_handling_sha256",
"availability_sha256",
"agreed_rates_sha256",
"protocol_matrix_version",
"valid_until_ms"
],
"properties": {
"rate_revision": {
"type": "string",
"format": "uuid",
"description": "Must equal the current immutable offer rate revision."
},
"model_identity_sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "SHA-256 digest of independently reviewed evidence; lowercase hexadecimal. Evidence content is not uploaded by this operation."
},
"protocol_matrix_sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "SHA-256 digest of independently reviewed evidence; lowercase hexadecimal. Evidence content is not uploaded by this operation."
},
"data_handling_sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "SHA-256 digest of independently reviewed evidence; lowercase hexadecimal. Evidence content is not uploaded by this operation."
},
"availability_sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "SHA-256 digest of independently reviewed evidence; lowercase hexadecimal. Evidence content is not uploaded by this operation."
},
"agreed_rates_sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "SHA-256 digest of independently reviewed evidence; lowercase hexadecimal. Evidence content is not uploaded by this operation."
},
"protocol_matrix_version": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Nonblank after trimming; at most 100 UTF-8 bytes before trimming; no control characters. Saved trimmed."
},
"valid_until_ms": {
"type": "integer",
"format": "int64",
"maximum": 253402300799999,
"description": "Unix epoch milliseconds; must be strictly later than server time."
}
}
}

Qualification transaction committed.

Content type: application/json.

JSON
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"qualification_status"
],
"properties": {
"qualification_status": {
"type": "string",
"enum": [
"qualified"
]
}
}
}
}
}

Invalid path UUID, malformed JSON, evidence digest, expiry or review metadata.

Missing or invalid administrator authentication.

Authenticated principal lacks platform management permission.

Missing resource or qualification/revision prerequisites no longer hold.

Request is not JSON.

JSON has missing, unknown or incorrectly typed fields.

Unexpected internal persistence failure.

Persistence temporarily unavailable; no successful qualification is confirmed.

Platform administration required. Requires current Provider business qualification, matching current rate_revision and a current media offer binding where applicable; otherwise 409. Records a new immutable review and audit, then selects that review. Evidence digests must represent independently reviewed facts; this operation does not validate their content, negotiate rates, call upstream or activate the offer.

Supported scope: implemented