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

# Modelle auflisten

> Gateway-native Modelle über das Phaseo Gateway durchsuchen, einschließlich optionaler Verfügbarkeitsdetails für nicht routbare Modelle.

Standardmäßig gibt dieser Endpunkt nur Modelle zurück, die aktuell geroutet werden können. Setzen Sie `availability=all`, um bekannte, derzeit aber nicht verfügbare Modelle einzuschließen.

Katalogantworten werden fünf Minuten zwischengespeichert und können während der Cache-Revalidierung weitere fünf Minuten ausgeliefert werden. Dies gilt für die JSON-, RSS- und Atom-Darstellungen des aktuellen Katalogs; der Veröffentlichungsfeed hat einen eigenen, kürzeren Abfrage-Cache.

`GET /models/me` ist für eine künftige Filterung nach den Guardrails des aktuellen Aufrufers vorgesehen. Der Endpunkt gibt derzeit `501 not implemented` zurück. Verwenden Sie deshalb vorerst `GET /models` für den gemeinsamen Gateway-Katalog.

## Nützliche Filter

* `endpoints` verwendet öffentliche Namen wie `chat.completions`, `responses` und `messages`
* `status` filtert nach dem Lebenszyklus eines Modells, etwa `active`, `deprecated` oder `retired`
* `provider` filtert nach der öffentlichen Anbieter-ID, etwa `openai`, `anthropic` oder `google_vertex`
* `provider_status` filtert nach der Rollout-Stufe eines Anbieters, etwa `active`, `beta`, `alpha` oder `not_ready`
* `provider_routing_status` filtert nach dem Routing-Status eines Anbieters
* `model_routing_status` filtert nach dem Routing-Status eines Modells
* `capability_status` filtert nach dem Status der Anbieterfunktion für die angeforderte Endpunktzuordnung
* `provider_availability_status` filtert nach der Verfügbarkeit des Anbieters, etwa `active`, `coming_soon` oder `inactive`
* `provider_availability_reason` filtert nach dem Verfügbarkeitsgrund des Anbieters, etwa `preview_only`, `provider_not_ready`, `gated`, `access_limited` oder `region_limited`
* `organisation` filtert nach dem Präfix der öffentlichen Modell-ID, etwa `anthropic` in `anthropic/claude-3-haiku`
* `availability=active` ist der Standardwert
* `availability=all` umfasst Modelle oder Anbieter mit `coming_soon`, `inactive` oder ohne öffentliche Routing-Freigabe
* `input_modalities` ist ein Alias für `input_types`
* `output_modalities` ist ein Alias für `output_types`
* `supported_parameters` ist ein Alias für `params`

Rufen Sie `GET /models/{author}/{slug}/endpoints` auf, um den Endpunktvertrag für ein Modell abzurufen. Die Antwort trennt die Anbieter-Routen und enthält für jede Zeile den öffentlichen Pfad, Modalitäten, Details zu unterstützten Parametern, Verfügbarkeit, Routing-Status, den Modell-Slug des Anbieters und eine Preisübersicht.

Anbietereinträge können außerdem Folgendes enthalten:

* `availability_status`
* `availability_reason`
* `provider_status`
* `provider_routing_status`
* `model_routing_status`
* `capability_status`

### Antwort

```json theme={null}
{
  "ok": true,
  "privacy_scope": "shared",
  "availability_mode": "all",
  "limit": 50,
  "offset": 0,
  "total": 99,
  "models": [
    {
      "id": "anthropic/claude-3-haiku",
      "canonical_slug": "anthropic/claude-3-haiku",
      "model_id": "anthropic/claude-3-haiku",
      "name": "anthropic/claude-3-haiku",
      "description": "anthropic/claude-3-haiku via Phaseo Gateway. Supports chat.completions, messages, responses.",
      "created": null,
      "release_date": null,
      "deprecation_date": null,
      "retirement_date": null,
      "status": "active",
      "availability": {
        "status": "coming_soon",
        "provider_count": 1,
        "active_provider_count": 0,
        "inactive_provider_count": 0
      },
      "organisation_id": "anthropic",
      "organisation_name": null,
      "organisation_colour": null,
      "aliases": [],
      "endpoints": ["chat.completions", "messages", "responses"],
      "input_types": ["text"],
      "output_types": ["text"],
      "architecture": {
        "modality": "text->text",
        "input_modalities": ["text"],
        "output_modalities": ["text"],
        "tokenizer": null,
        "instruct_type": "chat"
      },
      "providers": [
        {
          "api_provider_id": "anthropic",
          "api_provider_name": "Anthropic",
          "provider_model_slug": "claude-3-haiku-20240307",
          "is_active_gateway": false,
          "availability_status": "coming_soon",
          "availability_reason": "preview_only",
          "provider_status": "beta",
          "provider_routing_status": "active",
          "model_routing_status": "active",
          "capability_status": "coming_soon",
          "effective_from": "2026-06-01T00:00:00Z",
          "effective_to": null,
          "endpoints": ["responses"],
          "input_modalities": ["text"],
          "output_modalities": ["text"],
          "params": [
            "max_tokens",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p"
          ],
          "supported_parameters": [
            "max_tokens",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p"
          ],
          "supported_parameters_detail": {
            "temperature": {
              "supported": true,
              "type": "number",
              "minimum": 0,
              "maximum": 2
            }
          }
        }
      ],
      "supported_params": [
        "max_tokens",
        "response_format",
        "stop",
        "structured_outputs",
        "temperature",
        "tool_choice",
        "tools",
        "top_k",
        "top_p"
      ],
      "supported_params_detail": {
        "temperature": {
          "supported": true,
          "type": "number",
          "minimum": 0,
          "maximum": 2,
          "providers": ["openai"]
        }
      },
      "supported_parameters": [
        "max_tokens",
        "response_format",
        "stop",
        "structured_outputs",
        "temperature",
        "tool_choice",
        "tools",
        "top_k",
        "top_p"
      ],
      "supported_parameters_detail": {
        "temperature": {
          "supported": true,
          "type": "number",
          "minimum": 0,
          "maximum": 2,
          "providers": ["openai"]
        }
      },
      "top_provider_id": null,
      "top_provider": {
        "context_length": null,
        "max_completion_tokens": null,
        "is_moderated": false
      },
      "pricing": {
        "prompt": null,
        "completion": null,
        "request": null,
        "image": null,
        "input_cache_read": null,
        "input_cache_write": null,
        "web_search": null
      },
      "pricing_detail": {
        "pricing_plan": "standard",
        "meters": {}
      },
      "per_request_limits": null
    }
  ]
}
```

`availability_reason` ist das einzelne Feld, das erklärt, warum ein Anbietereintrag aktiv, nur als Vorschau verfügbar oder inaktiv ist.


## OpenAPI

````yaml de/openapi/v1/openapi.localized.yaml GET /models
openapi: 3.0.3
info:
  title: Phaseo Gateway API
  description: >-
    Eine Gateway-API für den Zugriff auf verschiedene KI-Modelle über
    OpenAI-kompatible Endpunkte.
  version: 1.0.0
  contact:
    name: Phaseo
    url: https://phaseo.app
    email: danielbutler500@gmail.com
servers:
  - url: https://api.phaseo.app/v1
    description: Globales Routing
security:
  - BearerAuth: []
tags:
  - name: Gateway
    description: Core Phaseo Gateway operations.
paths:
  /models:
    get:
      tags:
        - Gateway
      summary: Gateway-Modelle auflisten
      description: >-
        Gibt gemeinsam genutzte, nicht ausgeblendete Gateway-Modelle zurück.
        Standardmäßig werden aktuell öffentlich routbare Modelle angezeigt; mit
        `availability=all` lassen sich nicht routbare Verfügbarkeitsdatensätze
        einbeziehen.
      operationId: listModels
      parameters:
        - name: search
          in: query
          description: >-
            Suche ohne Beachtung der Groß-/Kleinschreibung in Modell-IDs, Namen,
            Beschreibungen und Organisationen.
          schema:
            type: string
            maxLength: 200
        - name: provider_search
          in: query
          description: >-
            Suche nach Anbietern oder Modellorganisationen ohne Beachtung der
            Groß-/Kleinschreibung.
          schema:
            type: string
            maxLength: 100
        - name: input_modality
          in: query
          description: Eine unterstützte Eingabemodalität voraussetzen.
          schema:
            type: string
            enum:
              - text
              - image
              - audio
              - video
        - name: minimum_context_tokens
          in: query
          description: Mindestens diese Anzahl an Eingabe-Kontexttokens voraussetzen.
          schema:
            type: number
            minimum: 0
        - name: maximum_input_price_per_million
          in: query
          description: Maximaler Eingabetokenpreis in USD pro Million Tokens.
          schema:
            type: number
            minimum: 0
        - name: gateway_available_only
          in: query
          description: >-
            Nur Modelle mit mindestens einem routbaren Gateway-Angebot
            zurückgeben.
          schema:
            type: boolean
            default: false
        - name: sort_by
          in: query
          description: Feld zum Sortieren der Ergebnisse der Modellerkennung.
          schema:
            type: string
            enum:
              - relevance
              - input_price
              - output_price
              - context_length
              - provider_count
            default: relevance
        - name: sort_order
          in: query
          description: >-
            Optionale Sortierrichtung. Preise werden standardmäßig aufsteigend
            sortiert, andere Zahlenwerte absteigend.
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: endpoints
          in: query
          description: Nach Endpunkten filtern
          schema:
            type: array
            items:
              type: string
        - name: organisation
          in: query
          description: Nach Organisation filtern
          schema:
            oneOf:
              - $ref: '#/components/schemas/OrganisationId'
              - type: array
                items:
                  $ref: '#/components/schemas/OrganisationId'
        - name: provider
          in: query
          description: Nach Anbieter-ID filtern
          schema:
            type: array
            items:
              type: string
        - name: provider_status
          in: query
          description: Nach Anbieter-Rolloutstatus filtern
          schema:
            type: array
            items:
              type: string
        - name: provider_routing_status
          in: query
          description: Nach Anbieter-Routingstatus filtern
          schema:
            type: array
            items:
              type: string
        - name: model_routing_status
          in: query
          description: Nach Modell-Routingstatus filtern
          schema:
            type: array
            items:
              type: string
        - name: capability_status
          in: query
          description: Nach Anbieter-Fähigkeitsstatus filtern
          schema:
            type: array
            items:
              type: string
        - name: provider_availability_status
          in: query
          description: Nach Anbieter-Verfügbarkeitsstatus filtern
          schema:
            type: array
            items:
              type: string
        - name: provider_availability_reason
          in: query
          description: Nach Anbieter-Verfügbarkeitsgrund filtern
          schema:
            type: array
            items:
              type: string
        - name: status
          in: query
          description: Nach Modellstatus filtern
          schema:
            type: array
            items:
              type: string
        - name: input_types
          in: query
          description: Nach Eingabetypen filtern
          schema:
            type: array
            items:
              type: string
        - name: input_modalities
          in: query
          description: Öffentlicher Alias für `input_types`.
          schema:
            type: array
            items:
              type: string
        - name: output_types
          in: query
          description: Nach Ausgabetypen filtern
          schema:
            type: array
            items:
              type: string
        - name: output_modalities
          in: query
          description: Öffentlicher Alias für `output_types`.
          schema:
            type: array
            items:
              type: string
        - name: params
          in: query
          description: Nach Parametern filtern
          schema:
            type: array
            items:
              type: string
        - name: supported_parameters
          in: query
          description: Öffentlicher Alias für `params`.
          schema:
            type: array
            items:
              type: string
        - name: availability
          in: query
          description: >-
            Verfügbarkeitsfilter. `active` gibt nur öffentlich routbare Modelle
            zurück; `all` umfasst auch nicht routbare Verfügbarkeitsdatensätze.
          schema:
            type: string
            enum:
              - active
              - all
            default: active
        - name: limit
          in: query
          description: Anzahl der Ergebnisse begrenzen
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 250
        - name: offset
          in: query
          description: Offset für die Paginierung
          schema:
            type: integer
            default: 0
            minimum: 0
            maximum: 5000
        - name: format
          in: query
          description: Antwortformat. Standardmäßig `json`.
          schema:
            type: string
            enum:
              - json
              - rss
              - atom
            default: json
        - name: feed
          in: query
          description: Alias für `format`. Akzeptiert `json`, `rss` oder `atom`.
          schema:
            type: string
            enum:
              - json
              - rss
              - atom
      responses:
        '200':
          description: Modellliste
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayModelsResponse'
            application/rss+xml:
              schema:
                type: string
                description: RSS-2.0-XML-Feed
            application/atom+xml:
              schema:
                type: string
                description: Atom-XML-Feed
        '400':
          description: Ungültige Anfrageparameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestResponse'
        '401':
          description: Nicht autorisiert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Fehler
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      servers:
        - url: https://api.phaseo.app/v1
          description: Globales Routing
        - url: https://eu.api.phaseo.app/v1
          description: Regionales Anbieter-Routing für die EU (nur Text)
        - url: https://us.api.phaseo.app/v1
          description: Regionales Anbieter-Routing für die USA (nur Text)
components:
  schemas:
    OrganisationId:
      type: string
      description: Organisationskennung.
      enum:
        - 01-ai
        - adept
        - ai21
        - aion-labs
        - aisingapore
        - alibaba
        - allenai
        - amazon
        - anthracite-org
        - anthropic
        - arcee-ai
        - baai
        - baichuan
        - baidu
        - bigcode
        - black-forest-labs
        - bytedance
        - bytedance-seed
        - cogito
        - cognitivecomputations
        - cohere
        - crofai
        - cursor
        - cyfragovpl
        - databricks
        - decart
        - deepseek
        - dots-studio
        - early-access
        - eleven-labs
        - essential-ai
        - fastino
        - fish-audio
        - github
        - google
        - gryphe
        - hexgrad
        - ibm
        - ibm-granite
        - inception
        - inclusionai
        - inference-net
        - inflection
        - intfloat
        - jetbrains
        - kblab
        - kling
        - kuaishou
        - kwaipilot
        - kwaivgi
        - lg
        - lightricks
        - liquid-ai
        - mancer
        - medaibase
        - meituan
        - meta
        - microsoft
        - mindai
        - minimax
        - mistral
        - mistralai
        - moonshotai
        - morph
        - naver-hyperclova
        - near-ai
        - nex-agi
        - nous
        - nousresearch
        - novasearch
        - nvidia
        - openai
        - openbmb
        - opencompass
        - opengvlab
        - orcarouter
        - ornith
        - perceptron
        - perplexity
        - phala
        - pixverse
        - poe
        - poolside
        - prime-intellect
        - prism-ml
        - qwen
        - reka
        - relace
        - runway
        - sakana
        - sao10k
        - sapiens-ai
        - sentence-transformers
        - sference
        - shanghai-ai-laboratory
        - shengshu-ai
        - snowflake
        - sourceful
        - spacex-ai
        - speakleash
        - stability-ai
        - stealth
        - stepfun
        - suno
        - tencent
        - thedrummer
        - thinking-machines
        - undi95
        - upstage
        - venice
        - vercel
        - villanova-ai
        - voyage
        - windsurf
        - writer
        - xai
        - xgenerationlab
        - xiaomi
        - z-ai
        - zyphra
    GatewayModelsResponse:
      type: object
      required:
        - ok
        - availability_mode
        - limit
        - offset
        - total
        - models
      properties:
        ok:
          type: boolean
          example: true
        availability_mode:
          type: string
          enum:
            - active
            - all
          example: active
        limit:
          type: integer
          minimum: 1
          maximum: 250
          example: 50
        offset:
          type: integer
          minimum: 0
          maximum: 5000
          example: 0
        total:
          type: integer
          minimum: 0
          example: 128
        models:
          type: array
          items:
            $ref: '#/components/schemas/Model'
      additionalProperties: false
    InvalidRequestResponse:
      type: object
      required:
        - ok
        - error
        - message
      properties:
        ok:
          type: boolean
          enum:
            - false
          example: false
        error:
          type: string
          example: invalid_request
        message:
          type: string
          example: Invalid request parameters.
        max_offset:
          type: integer
          minimum: 0
      additionalProperties: true
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        ok:
          type: boolean
          example: false
        error:
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
          example: error_type
        message:
          type: string
          example: Human-readable error message
        description:
          type: string
          example: Additional error details.
        generation_id:
          type: string
          example: G-abc123
        status_code:
          type: integer
          example: 502
        error_type:
          type: string
          enum:
            - user
            - system
          example: system
        error_origin:
          type: string
          enum:
            - user
            - gateway
            - upstream
          example: upstream
        reason:
          type: string
          example: all_candidates_failed
        attempt_count:
          type: integer
          example: 2
        failed_providers:
          type: array
          items:
            type: string
          example:
            - google-ai-studio
            - openai
        failed_statuses:
          type: array
          items:
            type: integer
          example:
            - 403
            - 429
        upstream_error:
          $ref: '#/components/schemas/ErrorUpstreamError'
        failure_sample:
          type: array
          items:
            $ref: '#/components/schemas/ErrorFailureSampleItem'
        provider_failure_diagnostics:
          $ref: '#/components/schemas/ErrorProviderFailureDiagnostics'
        routing_diagnostics:
          $ref: '#/components/schemas/ErrorRoutingDiagnostics'
        provider_candidate_diagnostics:
          $ref: '#/components/schemas/ErrorProviderCandidateDiagnostics'
        provider_enablement:
          $ref: '#/components/schemas/ErrorProviderEnablementDiagnostics'
        missing_pricing_providers:
          type: array
          items:
            type: string
        provider_payment_required_provider:
          type: string
          example: openai
        provider_payment_required_support_notice:
          type: string
          example: >-
            Our upstream provider billing appears to be unavailable. If this
            persists, contact support.
        details:
          type: array
          items:
            type: object
            additionalProperties: true
      additionalProperties: true
    Model:
      type: object
      required:
        - id
        - base_model_id
        - variant
        - variants
        - name
        - description
        - organization
        - aliases
        - lifecycle
        - modalities
        - limits
        - capabilities
        - availability
        - pricing
        - offers
      properties:
        id:
          type: string
        base_model_id:
          type: string
        variant:
          type: string
        variants:
          type: object
          additionalProperties:
            type: object
            required:
              - model_id
              - name
            properties:
              model_id:
                type: string
              name:
                type: string
        name:
          type: string
        description:
          type: string
        organization:
          $ref: '#/components/schemas/GatewayModelOrganization'
        aliases:
          type: array
          items:
            type: string
        lifecycle:
          $ref: '#/components/schemas/GatewayModelLifecycle'
        modalities:
          $ref: '#/components/schemas/GatewayModalities'
        limits:
          $ref: '#/components/schemas/GatewayModelLimits'
        capabilities:
          $ref: '#/components/schemas/GatewayCapabilities'
        availability:
          $ref: '#/components/schemas/ModelAvailability'
        pricing:
          $ref: '#/components/schemas/GatewayPricing'
        offers:
          type: array
          items:
            $ref: '#/components/schemas/GatewayModelOffer'
      additionalProperties: false
    ErrorUpstreamError:
      type: object
      properties:
        code:
          type: string
          nullable: true
          example: PERMISSION_DENIED
        message:
          type: string
          nullable: true
          example: The caller does not have permission.
        description:
          type: string
          nullable: true
        param:
          type: string
          nullable: true
    ErrorFailureSampleItem:
      type: object
      properties:
        provider:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        status:
          type: integer
          nullable: true
        upstream_error_code:
          type: string
          nullable: true
        upstream_error_message:
          type: string
          nullable: true
        upstream_error_description:
          type: string
          nullable: true
        upstream_error_param:
          type: string
          nullable: true
        upstream_payload_preview:
          type: string
          nullable: true
        retryable:
          type: boolean
          nullable: true
      additionalProperties: true
    ErrorProviderFailureDiagnostics:
      type: object
      properties:
        category:
          type: string
          enum:
            - credentials_not_configured
            - credentials_invalid_or_forbidden
            - provider_access_missing
            - region_or_project_restriction
            - model_unavailable_for_endpoint
            - rate_limited
            - server_error
        hint:
          type: string
        provider:
          type: string
          nullable: true
    ErrorRoutingDiagnostics:
      type: object
      properties:
        filterStages:
          type: array
          items:
            type: object
            properties:
              stage:
                type: string
              beforeCount:
                type: integer
              afterCount:
                type: integer
              droppedProviders:
                type: array
                items:
                  type: object
                  properties:
                    providerId:
                      type: string
                      nullable: true
                    reason:
                      type: string
                      nullable: true
                  additionalProperties: true
            additionalProperties: true
      additionalProperties: true
    ErrorProviderCandidateDiagnostics:
      type: object
      properties:
        totalProviders:
          type: integer
        supportsEndpointCount:
          type: integer
        candidateCount:
          type: integer
        droppedUnsupportedEndpoint:
          type: array
          items:
            type: string
        droppedMissingAdapter:
          type: array
          items:
            type: object
            properties:
              providerId:
                type: string
                nullable: true
              endpoint:
                type: string
                nullable: true
            additionalProperties: true
      additionalProperties: true
    ErrorProviderEnablementDiagnostics:
      type: object
      properties:
        capability:
          type: string
        providersBefore:
          type: array
          items:
            type: string
        providersAfter:
          type: array
          items:
            type: string
        dropped:
          type: array
          items:
            type: object
            properties:
              providerId:
                type: string
                nullable: true
              reason:
                type: string
                nullable: true
            additionalProperties: true
      additionalProperties: true
    GatewayModelOrganization:
      type: object
      nullable: true
      required:
        - id
        - name
        - color
      properties:
        id:
          type: string
        name:
          type: string
          nullable: true
        color:
          type: string
          nullable: true
    GatewayModelLifecycle:
      type: object
      required:
        - status
        - released_at
        - deprecated_at
        - retires_at
        - replacement_id
        - message
      properties:
        status:
          type: string
          enum:
            - active
            - deprecated
            - retired
          nullable: true
        released_at:
          type: string
          nullable: true
        deprecated_at:
          type: string
          nullable: true
        retires_at:
          type: string
          nullable: true
        replacement_id:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
    GatewayModalities:
      type: object
      required:
        - input
        - output
      properties:
        input:
          type: array
          items:
            type: string
        output:
          type: array
          items:
            type: string
    GatewayModelLimits:
      type: object
      required:
        - input_tokens
        - output_tokens
      properties:
        input_tokens:
          type: integer
          nullable: true
          minimum: 0
          exclusiveMinimum: true
        output_tokens:
          type: integer
          nullable: true
          minimum: 0
          exclusiveMinimum: true
    GatewayCapabilities:
      type: object
      required:
        - parameters
        - parameter_details
      properties:
        endpoints:
          type: array
          items:
            type: string
        parameters:
          type: array
          items:
            type: string
        parameter_details:
          $ref: '#/components/schemas/SupportedParameterDetails'
    ModelAvailability:
      type: object
      required:
        - status
        - provider_count
        - active_provider_count
        - coming_soon_provider_count
        - inactive_provider_count
      properties:
        status:
          type: string
          enum:
            - active
            - coming_soon
            - inactive
            - not_listed
        provider_count:
          type: integer
          minimum: 0
        active_provider_count:
          type: integer
          minimum: 0
        coming_soon_provider_count:
          type: integer
          minimum: 0
        inactive_provider_count:
          type: integer
          minimum: 0
    GatewayPricing:
      type: object
      required:
        - pricing_plan
        - meters
      properties:
        pricing_plan:
          type: string
          enum:
            - standard
        meters:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/GatewayPricingMeter'
    GatewayModelOffer:
      type: object
      required:
        - provider
        - model
        - status
        - status_reason
        - routable
        - endpoints
        - modalities
        - capabilities
        - routing
        - effective
        - pricing
      properties:
        provider:
          type: object
          required:
            - id
            - name
          properties:
            id:
              type: string
            name:
              type: string
              nullable: true
        model:
          type: string
          nullable: true
        status:
          type: string
          enum:
            - active
            - coming_soon
            - inactive
        status_reason:
          $ref: '#/components/schemas/GatewayProviderAvailabilityReason'
        routable:
          type: boolean
        endpoints:
          type: array
          items:
            type: string
        modalities:
          $ref: '#/components/schemas/GatewayModalities'
        capabilities:
          $ref: '#/components/schemas/GatewayCapabilities'
        routing:
          type: object
          required:
            - provider
            - model
            - capability
          properties:
            provider:
              $ref: '#/components/schemas/GatewayRoutingStatus'
            model:
              $ref: '#/components/schemas/GatewayRoutingStatus'
            capability:
              $ref: '#/components/schemas/GatewayCapabilityStatus'
        effective:
          type: object
          required:
            - from
            - to
          properties:
            from:
              type: string
              nullable: true
            to:
              type: string
              nullable: true
        pricing:
          $ref: '#/components/schemas/GatewayPricing'
    SupportedParameterDetails:
      type: object
      description: >-
        Strukturierte Einschränkungen und Anbieterunterstützung für
        Anfrageparameter, nach Parameternamen indiziert.
      additionalProperties:
        type: object
        additionalProperties: true
    GatewayPricingMeter:
      type: object
      nullable: true
      required:
        - provider_id
        - unit
        - unit_size
        - price_per_unit
        - currency
      properties:
        provider_id:
          type: string
        unit:
          type: string
        unit_size:
          type: number
          minimum: 0
          exclusiveMinimum: true
        price_per_unit:
          type: string
        currency:
          type: string
          enum:
            - USD
    GatewayProviderAvailabilityReason:
      type: string
      enum:
        - active
        - preview_only
        - gated
        - access_limited
        - region_limited
        - project_limited
        - paused
        - soft_blocked
        - deranked_lvl1
        - deranked_lvl2
        - deranked_lvl3
        - internal_testing
        - scheduled
        - coming_soon
        - provider_disabled
        - model_disabled
        - capability_disabled
        - provider_not_ready
        - provider_inactive
        - inactive
        - retired
    GatewayRoutingStatus:
      type: string
      enum:
        - active
        - deranked_lvl1
        - deranked_lvl2
        - deranked_lvl3
        - disabled
    GatewayCapabilityStatus:
      type: string
      enum:
        - active
        - coming_soon
        - deranked_lvl1
        - deranked_lvl2
        - deranked_lvl3
        - disabled
        - internal_testing
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Authentifizierung mit Bearer-Token

````

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