Skip to content

Check a provider's registration

View as Markdown
GET
/v1/providers/{providerId}/check
curl --request GET \
--url https://example.com/v1/providers/example/check \
--header 'Authorization: Bearer <token>'

Runs the provider’s adapter check over its stored registration (its adapter_config, its metadata, whether it names a secret_ref): the check POST /v1/providers runs before it stores one. Static: no network call, no secret read. issues lists what would keep the runtime from building the provider, each with a JSON-pointer path; an adapter this runtime doesn’t have is one (/adapter_id). warnings lists the adapter_config keys its adapter doesn’t take: the runtime builds it without reading them. checked is false when this runtime has no check for the provider’s adapter and the adapter declares no keys.

providerId
required
string

ProviderId — opaque string identifier chosen by the deployment.

The check.

Media typeapplication/json
object
providerId
required
string
adapterId
required
string
checked
required

False when this runtime has no check for the provider’s adapter and the adapter declares no keys; issues is then empty, and warnings is left out.

boolean
issues
required

What stops the runtime building the provider from its registration.

Array<object>
object
path
required

The setting at fault, as a JSON pointer into the registration: /adapter_config/<key>, /secret_ref, /metadata/region, /metadata/models/<i>/name, or /adapter_id (an adapter this runtime does not have).

string
message
required

What’s wrong with that setting and what it takes (e.g. adapter_config.api must be one of responses, chat-completions.). The error’s message names the provider and its adapter.

string
warnings

The adapter_config keys the provider’s adapter doesn’t take: the runtime builds it without reading them, and a new registration with one is refused. Each names the key and what the adapter takes, or where a moved key’s setting goes. Present when there’s at least one. A runtime before 0.3.0 leaves it out.

Array<object>
>= 1 items
object
path
required

The setting at fault, as a JSON pointer into the registration: /adapter_config/<key>, /secret_ref, /metadata/region, /metadata/models/<i>/name, or /adapter_id (an adapter this runtime does not have).

string
message
required

What’s wrong with that setting and what it takes (e.g. adapter_config.api must be one of responses, chat-completions.). The error’s message names the provider and its adapter.

string
secretRef

The secret the provider’s key resolves from, by name only, never its value. Present when the registration has one. Only a caller allowed to check the provider sees it. kindgi dev uses it to keep a provider’s key out of the pack service’s environment. A runtime before 0.1.6 leaves it out.

object
envName
required
string
>= 1 characters
name
required
string
>= 1 characters
Examplegenerated
{
"providerId": "example",
"adapterId": "example",
"checked": true,
"issues": [
{
"path": "example",
"message": "example"
}
],
"warnings": [
{
"path": "example",
"message": "example"
}
],
"secretRef": {
"envName": "example",
"name": "example"
}
}

Missing / malformed / expired / revoked bearer token.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

Not a member of the tenant (permission-denied). Without an authorization store, anyone reads it.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

No provider with that id under this tenant.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

The database was too busy to answer in time (database-busy); Retry-After (whole seconds) says when to try again.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

See also