Check whether a provider accepts an API key, without storing it
const url = 'https://app.everruns.com/api/v1/providers/check-credentials';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"api_key":"sk-proj-...","base_url":"https://api.openai.com/v1","credentials":"example","provider_type":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://app.everruns.com/api/v1/providers/check-credentials \ --header 'Content-Type: application/json' \ --data '{ "api_key": "sk-proj-...", "base_url": "https://api.openai.com/v1", "credentials": "example", "provider_type": "example" }'Used by org setup so a key the provider will reject is caught at entry instead of at the first agent run. Nothing is persisted.
Request Bodyrequired
Section titled “Request Bodyrequired”Request to check a provider credential without storing it.
object
Single-field credential. Mutually exclusive with credentials.
Example
sk-proj-...Base URL for the provider’s API, when not the driver default.
Example
https://api.openai.com/v1Typed multi-field credential, validated against the driver’s schema exactly as on create.
The type of LLM provider (e.g., openai, anthropic).
Responses
Section titled “Responses”Check completed
The provider accepted the credential.
object
Number of models the provider listed for this credential.
The provider rejected the credential (401/403). Hard stop.
object
User-facing reason. Never carries the provider’s response body.
This driver has no credential-checking endpoint (custom base URL, simulator, or a driver without model discovery).
object
The provider could not be reached, so the credential is unproven.
object
User-facing reason. Never carries the provider’s response body.
Example
{ "models": 42, "status": "valid"}Invalid request
Internal error