Skip to Content
Launching the open-source gateway

List custom providers

GEThttps://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_KEY

Or:

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_JWT

Query parameters

Parameter Type Required Description and constraints
page integer Optional
Default: 1
Minimum: 1
page_size integer Optional
Default: 100
Minimum: 1
Maximum: 1000

Responses

200

Paginated custom providers.

application/json

Field Type Requirement Description and constraints
$ object Body
—
count integer Required in parent
Number of results on this page, not the total. Request pages until next is null to get every result.
next string or null Optional
Format: uri
previous string or null Optional
Format: uri
current_filters object Optional
Additional properties are allowed
results array<object> Required in parent
—
results[] object Array item
Additional properties are allowed
results[].id string Required in parent
Provider string ID. Same value as provider_id.
Example: "my-vllm"
results[].provider_id string Required in parent
Unique provider identifier within your organization.
Example: "my-vllm"
results[].provider_name string Required in parent
Human-readable provider name.
Example: "My vLLM Server"
results[].extra_kwargs object Optional
Stored provider configuration. The current backend returns this object, including credentials it contains; handle the response as sensitive.
Additional properties are allowed
Example: {"base_url":"https://vllm.example.com/v1"}
results[].created_at string or null Optional
Format: date-time
results[].updated_at string or null Optional
Format: date-time

OpenAPI 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

Field Type Requirement Description and constraints
$ object Body
—
detail string Required in parent
—

OpenAPI 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"
      }
    }
  }
}