> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xenovia.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Provider Catalog Route

> The providers this deployment offers, for the console's provider form
(docs/provider-catalog.md). Hidden entries and runtime-only keys are left
out, and the ambient auth mode unless this deployment accepts it.



## OpenAPI

````yaml https://cp.xenovia.io/openapi.json get /api/v1/provider-catalog
openapi: 3.1.0
info:
  title: Xenovia Control Plane API
  version: 1.0.0
  description: >-
    Management API for agents, providers, policies, telemetry, alerts and
    organization settings.
servers:
  - url: https://cp.xenovia.io
    description: Production
security:
  - BearerAuth: []
paths:
  /api/v1/provider-catalog:
    get:
      tags:
        - providers
      summary: Get Provider Catalog Route
      description: >-
        The providers this deployment offers, for the console's provider form

        (docs/provider-catalog.md). Hidden entries and runtime-only keys are
        left

        out, and the ambient auth mode unless this deployment accepts it.
      operationId: get_provider_catalog_route_api_v1_provider_catalog_get
      parameters: []
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderCatalogRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ProviderCatalogRead:
      properties:
        version:
          type: string
          title: Version
        providers:
          items:
            $ref: '#/components/schemas/PublicProviderEntry'
          type: array
          title: Providers
        context:
          $ref: '#/components/schemas/ProviderCatalogContext'
      type: object
      required:
        - version
        - providers
        - context
      title: ProviderCatalogRead
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PublicProviderEntry:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        category:
          type: string
          enum:
            - frontier
            - cloud
            - inference
            - aggregator
            - self_hosted
            - custom
          title: Category
        status:
          type: string
          enum:
            - ga
            - beta
            - hidden
          title: Status
        base_url:
          type: string
          title: Base Url
        base_url_editable:
          type: boolean
          title: Base Url Editable
        auth_modes:
          items:
            $ref: '#/components/schemas/AuthMode'
          type: array
          title: Auth Modes
        fields:
          items:
            $ref: '#/components/schemas/CatalogField'
          type: array
          title: Fields
        models:
          $ref: '#/components/schemas/PublicModelsInfo'
        egress_hosts:
          items:
            type: string
          type: array
          title: Egress Hosts
        docs_url:
          type: string
          title: Docs Url
        logo:
          type: string
          title: Logo
      additionalProperties: false
      type: object
      required:
        - id
        - name
        - description
        - category
        - status
        - base_url
        - base_url_editable
        - auth_modes
        - fields
        - models
        - egress_hosts
        - docs_url
        - logo
      title: PublicProviderEntry
      description: A catalog entry as the console receives it (GET /provider-catalog).
    ProviderCatalogContext:
      properties:
        aws_external_id:
          type: string
          title: Aws External Id
        ambient_credentials:
          type: boolean
          title: Ambient Credentials
      type: object
      required:
        - aws_external_id
        - ambient_credentials
      title: ProviderCatalogContext
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    AuthMode:
      properties:
        id:
          type: string
          title: Id
        label:
          type: string
          title: Label
        ambient:
          type: boolean
          title: Ambient
          default: false
        fields:
          items:
            $ref: '#/components/schemas/CatalogField'
          type: array
          title: Fields
          default: []
      additionalProperties: false
      type: object
      required:
        - id
        - label
      title: AuthMode
      description: |-
        How a provider authenticates. ``fields`` are the credentials (typed
        ``secret``) and the plain identifiers that go with them (a tenant id, a
        role ARN).
    CatalogField:
      properties:
        name:
          type: string
          title: Name
        label:
          type: string
          title: Label
        type:
          type: string
          enum:
            - string
            - url
            - secret
            - select
            - textarea
            - json
            - number
          title: Type
        required:
          type: boolean
          title: Required
          default: false
        placeholder:
          anyOf:
            - type: string
            - type: 'null'
          title: Placeholder
        help:
          anyOf:
            - type: string
            - type: 'null'
          title: Help
        hosts:
          items:
            type: string
          type: array
          title: Hosts
          default: []
        options:
          items:
            $ref: '#/components/schemas/SelectOption'
          type: array
          title: Options
          default: []
        default:
          anyOf:
            - type: string
            - type: 'null'
          title: Default
        advanced:
          type: boolean
          title: Advanced
          default: false
        allow_http:
          type: boolean
          title: Allow Http
          default: false
        pattern:
          anyOf:
            - type: string
            - type: 'null'
          title: Pattern
        multiline:
          type: boolean
          title: Multiline
          default: false
      additionalProperties: false
      type: object
      required:
        - name
        - label
        - type
      title: CatalogField
      description: >-
        One connection field (``fields``) or credential (an auth mode's

        ``fields``). The value lives in the provider's ``params`` under
        ``name``;

        ``api_token`` is the exception, kept in its own column.
    PublicModelsInfo:
      properties:
        default:
          type: string
          title: Default
          default: ''
        suggested:
          items:
            type: string
          type: array
          title: Suggested
          default: []
        discovery:
          type: string
          enum:
            - openai
            - anthropic
            - gemini
            - openrouter
            - none
          title: Discovery
      additionalProperties: false
      type: object
      required:
        - discovery
      title: PublicModelsInfo
      description: An entry's ``models`` as the console receives it.
    SelectOption:
      properties:
        value:
          type: string
          title: Value
        label:
          type: string
          title: Label
      additionalProperties: false
      type: object
      required:
        - value
        - label
      title: SelectOption
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token: an organization API key (`ak_…`) created under Settings →
        API Keys, or a dashboard user session token. Agent keys (`xe_…`) are not
        accepted here. Endpoints marked as user-only in their description reject
        organization keys with `403`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.