List LLM Providers
Endpoint
GET /apiops/projects/{projectName}/llm-providers/
Authentication
Requires a Personal API Access Token.
Header
Authorization: Bearer YOUR_TOKEN
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer {token} | Yes |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
Query Parameters
None
Response
Success Response (200 OK)
{
"status": "SUCCESS",
"resultList": [
{
"id": "6712a3f4e1b2c3d4e5f60011",
"projectId": "660f1e2a9c4b5a6d7e8f9012",
"projectName": "MyProject",
"name": "deepseek-primary",
"description": "DeepSeek production provider",
"enabled": true,
"providerType": "DEEPSEEK",
"endpoint": "https://api.deepseek.com/v1",
"apiVersion": "v1",
"organizationId": null,
"authScheme": "BEARER",
"authHeaderName": "Authorization",
"apiKeySet": true,
"apiSecretSet": false,
"supportedModels": [
{
"modelId": "deepseek-chat",
"displayName": "DeepSeek Chat",
"contextWindow": 64000,
"maxOutputTokens": 8192,
"pricePerMillionInput": 0.27,
"pricePerMillionOutput": 1.10,
"capabilities": ["chat", "function_calling"],
"modality": "TEXT",
"isDeprecated": false
}
],
"providerRpmLimit": 500,
"providerTpmLimit": 100000,
"coldStartRetryEnabled": false,
"lastHealthCheckAt": "2026-07-13T09:15:00Z",
"healthStatus": "HEALTHY",
"lastLatencyMs": 240,
"providerDefinitionId": null,
"allowedModelIds": ["deepseek-chat"],
"deploymentType": "CLOUD",
"builtIn": false,
"metadata": []
}
],
"resultCount": 1
}
Response Fields
| Field | Type | Description |
|---|---|---|
| status | string | Response status: SUCCESS or FAILURE |
| resultList | array | List of LLM provider objects |
| resultCount | integer | Total number of providers returned |
LLM Provider Object Fields
| Field | Type | Description |
|---|---|---|
| id | string | Internal identifier (read-only) |
| projectId | string | Project identifier (read-only) |
| projectName | string | Project name (read-only) |
| name | string | Provider name (unique within the project) |
| description | string | Free-text description |
| enabled | boolean | Whether the provider is active |
| providerType | string | Provider type enum constant (e.g. OPENAI, ANTHROPIC, AZURE_OPENAI, BEDROCK, VERTEX, DEEPSEEK, GROQ, VLLM, OLLAMA) |
| endpoint | string | Base API URL (e.g. https://api.deepseek.com/v1) |
| apiVersion | string | Provider API version (e.g. v1, 2024-02-15-preview) |
| organizationId | string | Organization identifier (OpenAI org-...; optional) |
| authScheme | string | Auth scheme enum constant (BEARER, API_KEY_HEADER, BASIC, AWS_SIGV4, OAUTH2, NONE, CUSTOM) |
| authHeaderName | string | Header used to carry the credential (e.g. Authorization, x-api-key, api-key) |
| apiKeySet | boolean | true if an apiKey is configured (secret value never returned) |
| apiSecretSet | boolean | true if an apiSecret is configured (secret value never returned) |
| supportedModels | array | Per-provider model snapshots (see fields below) |
| providerRpmLimit | integer | Organization-level requests-per-minute limit |
| providerTpmLimit | integer | Organization-level tokens-per-minute limit |
| coldStartRetryEnabled | boolean | Retry on 503 for self-hosted providers (vLLM/Ollama cold start) |
| lastHealthCheckAt | string | ISO-8601 timestamp of the last health probe (read-only) |
| healthStatus | string | Last probe result enum constant (UNKNOWN, HEALTHY, DOWN) (read-only) |
| lastLatencyMs | integer | Last probe round-trip time in milliseconds (read-only) |
| providerDefinitionId | string | Optional catalog provider definition reference |
| allowedModelIds | array[string] | Integration-level model filter; empty/null = all models allowed |
| deploymentType | string | Deployment type enum constant (CLOUD, ON_PREM) |
| builtIn | boolean | true for system-provided built-in templates (read-only). |
| metadata | array | Custom key/value metadata entries; secret values are nulled |
Supported Model (LlmModelDef) Fields
| Field | Type | Description |
|---|---|---|
| modelId | string | Model identifier (e.g. deepseek-chat) |
| displayName | string | Human-readable model name |
| contextWindow | integer | Maximum context window in tokens |
| maxOutputTokens | integer | Maximum output tokens |
| pricePerMillionInput | number | USD per 1M input tokens |
| pricePerMillionOutput | number | USD per 1M output tokens |
| pricePerMillionCached | number | USD per 1M cached tokens (optional) |
| capabilities | array[string] | Model capabilities (e.g. chat, function_calling, vision, json_mode) |
| modality | string | Modality enum constant (TEXT, VISION, AUDIO, EMBEDDING, RERANK, MULTIMODAL, IMAGE) |
| isDeprecated | boolean | Whether the model is deprecated |
EnumStatus
SUCCESS- Operation successfulFAILURE- Operation failed
Error Response (400 Bad Request)
{
"status": "FAILURE",
"resultMessage": "Project (name: MyProject) was not found!"
}
Error Response (401 Unauthorized)
{
"status": "FAILURE",
"resultMessage": "Token is not valid!"
}
cURL Example
curl -X GET \
"https://demo.apinizer.com/apiops/projects/MyProject/llm-providers/" \
-H "Authorization: Bearer YOUR_TOKEN"
Notes and Warnings
- Secret Masking (INV-06):
apiKeyandapiSecretare never returned in plaintext- Presence is exposed via
apiKeySet/apiSecretSetboolean flags - Secret metadata values are returned as
null
- Enum Serialization:
providerType,authScheme,deploymentTypeand modelmodalityserialize as the enum constant name (e.g.DEEPSEEK,BEARER,CLOUD,TEXT), not lowercase
- Empty List:
- If no providers exist, an empty
resultListwithresultCount: 0is returned
- If no providers exist, an empty
- Usage References:
- The
usedByRefsfield (API proxies referencing the provider) is only populated by the single-provider Get LLM Provider endpoint, not by this list endpoint
- The
Related Documentation
- Get LLM Provider - Retrieve a single provider by name
- Create LLM Provider - Create or upsert a provider
- LLM Providers API - Resource overview and permissions
- Authentication Guide - How to obtain and use API tokens