Check a provider's registration
const url = 'https://example.com/v1/providers/example/check';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”ProviderId — opaque string identifier chosen by the deployment.
Responses
Section titled “Responses”The check.
object
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.
What stops the runtime building the provider from its registration.
object
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).
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.
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.
object
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).
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.
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
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.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}Not a member of the workspace (permission-denied). Without an authorization store, anyone reads it.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}No provider with that id under this workspace.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
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.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}See also
GET /v1/providers/{providerId}: Fetch a providerGET /v1/providers/{providerId}/capabilities: List capabilities a provider satisfiesPOST /v1/providers/{providerId}/unregister: Unregister a model provider- Choose the model an agent uses
- Models
- Kindgi 0.1.8
- Error code
database-busy - Error code
permission-denied - Every error code