List custom providers
https://api.respan.ai/api/providers/List custom providers for the authenticated organization.
Servers
https://api.respan.ai — Respan API Server
Authentication
RespanApiKey
Use your Respan API key for Respan API authentication. Enter only the Respan API key value; clients send Authorization: Bearer <RESPAN_API_KEY>. For /api/responses, provider credentials such as Perplexity, OpenAI, or Azure OpenAI go in Settings -> Providers or respan_params.credential_override in the request body, not in this authentication field.
HTTP scheme: bearer; format: Respan API key.
Authorization: Bearer $RESPAN_API_KEYOr:
DashboardJwt
Use a dashboard JWT only for dashboard-authenticated endpoints. Respan API-key endpoints use the respanApiKey auth field instead.
HTTP scheme: bearer; format: Dashboard JWT.
Authorization: Bearer $RESPAN_DASHBOARD_JWTQuery parameters
page integer Optional1Minimum:
1page_size integer Optional100Minimum:
1Maximum:
1000Responses
200
Paginated custom providers.
application/json
$ object Body
count integer Required in parentnext is null to get every result.next string or null Optionaluriprevious string or null Optionaluricurrent_filters object Optionalresults array<object> Required in parent
results[] object Array item
results[].id string Required in parentprovider_id.Example:
"my-vllm"results[].provider_id string Required in parentExample:
"my-vllm"results[].provider_name string Required in parentExample:
"My vLLM Server"results[].extra_kwargs object OptionalAdditional properties are allowed
Example:
{"base_url":"https://vllm.example.com/v1"}results[].created_at string or null Optionaldate-timeresults[].updated_at string or null Optionaldate-timeOpenAPI response schema
{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer",
"description": "Number of results on this page, not the total. Request pages until `next` is null to get every result."
},
"next": {
"type": "string",
"format": "uri",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"nullable": true
},
"current_filters": {
"type": "object",
"additionalProperties": true
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"provider_id",
"provider_name"
],
"properties": {
"id": {
"type": "string",
"description": "Provider string ID. Same value as `provider_id`.",
"example": "my-vllm"
},
"provider_id": {
"type": "string",
"description": "Unique provider identifier within your organization.",
"example": "my-vllm"
},
"provider_name": {
"type": "string",
"description": "Human-readable provider name.",
"example": "My vLLM Server"
},
"extra_kwargs": {
"type": "object",
"description": "Stored provider configuration. The current backend returns this object, including credentials it contains; handle the response as sensitive.",
"additionalProperties": true,
"example": {
"base_url": "https://vllm.example.com/v1"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": true
}
}
}
}403
The API key is missing, invalid or expired.
application/json
$ object Body
detail string Required in parentOpenAPI response schema
{
"type": "object",
"required": [
"detail"
],
"properties": {
"detail": {
"type": "string"
}
}
}Example
{
"detail": "Your API key is invalid or expired, please check your API key in the platform settings."
}OpenAPI source
The operation and referenced components below retain the complete OpenAPI definitions, including constraints and examples.
OpenAPI operation
{
"summary": "List custom providers",
"operationId": "listCustomProviders",
"tags": [
"Models"
],
"description": "List custom providers for the authenticated organization.",
"responses": {
"200": {
"description": "Paginated custom providers.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer",
"description": "Number of results on this page, not the total. Request pages until `next` is null to get every result."
},
"next": {
"type": "string",
"format": "uri",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"nullable": true
},
"current_filters": {
"type": "object",
"additionalProperties": true
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"provider_id",
"provider_name"
],
"properties": {
"id": {
"type": "string",
"description": "Provider string ID. Same value as `provider_id`.",
"example": "my-vllm"
},
"provider_id": {
"type": "string",
"description": "Unique provider identifier within your organization.",
"example": "my-vllm"
},
"provider_name": {
"type": "string",
"description": "Human-readable provider name.",
"example": "My vLLM Server"
},
"extra_kwargs": {
"type": "object",
"description": "Stored provider configuration. The current backend returns this object, including credentials it contains; handle the response as sensitive.",
"additionalProperties": true,
"example": {
"base_url": "https://vllm.example.com/v1"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": true
}
}
}
}
}
}
},
"403": {
"$ref": "#/components/responses/InvalidApiKey"
}
},
"security": [
{
"RespanApiKey": []
},
{
"DashboardJwt": []
}
],
"parameters": [
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"default": 1
}
},
{
"name": "page_size",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100
}
}
]
}OpenAPI path metadata
{}Referenced OpenAPI components
{
"responses": {
"InvalidApiKey": {
"description": "The API key is missing, invalid or expired.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"detail"
],
"properties": {
"detail": {
"type": "string"
}
}
},
"example": {
"detail": "Your API key is invalid or expired, please check your API key in the platform settings."
}
}
}
}
},
"securitySchemes": {
"DashboardJwt": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "Dashboard JWT",
"description": "Use a dashboard JWT only for dashboard-authenticated endpoints. Respan API-key endpoints use the respanApiKey auth field instead.",
"x-fern-bearer": {
"name": "dashboardJwt",
"env": "RESPAN_DASHBOARD_JWT"
}
},
"RespanApiKey": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "Respan API key",
"description": "Use your Respan API key for Respan API authentication. Enter only the Respan API key value; clients send Authorization: Bearer <RESPAN_API_KEY>. For /api/responses, provider credentials such as Perplexity, OpenAI, or Azure OpenAI go in Settings -> Providers or respan_params.credential_override in the request body, not in this authentication field.",
"x-fern-bearer": {
"name": "respanApiKey",
"env": "RESPAN_API_KEY"
}
}
}
}