Documentation

Adding a provider

Enter a provider name, the base URL of an OpenAI-compatible API (for example https://api.openai.com/v1) and an API key. Model Check calls GET {baseUrl}/models with Authorization: Bearer <key> and normalizes the id, object, created and owned_by fields.

Testing a model

Testing sends real POST {baseUrl}/chat/completions requests. Each check records status, HTTP status, latency, the raw response and any error. Model identity is a strict comparison of the requested ID with the model field in the API response: match, mismatch or unavailable. This checks the provider's own metadata for consistency only; a provider can return any string there, so it does not independently prove which model served the request.

API

GET  /api/health
POST /api/providers/test    { baseUrl, apiKey, headers? }
POST /api/providers/models  { baseUrl, apiKey, headers? }
POST /api/models/test       { baseUrl, apiKey, model, tests? }
POST /api/models/chat       { baseUrl, apiKey, model, messages, stream? }

Security notes

API keys are kept in browser memory only and forwarded per request; they are never written to logs or error messages. Base URLs are validated against SSRF (private ranges and metadata addresses are blocked unless ALLOW_PRIVATE_NETWORKS=true is set for local testing). Requests are rate limited and bounded by a timeout and a maximum response size.