> ## 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.

# Listar modelos

> Consulta los modelos propios de Gateway mediante Phaseo Gateway, incluidos los detalles opcionales de disponibilidad de modelos que no se pueden enrutar.

De forma predeterminada, este endpoint solo devuelve los modelos que se pueden enrutar actualmente. Define `availability=all` para incluir modelos conocidos que todavía no están disponibles.

Las respuestas del catálogo se almacenan en caché durante cinco minutos y pueden servirse otros cinco minutos mientras se revalida la caché. Esto se aplica a las representaciones JSON, RSS y Atom del catálogo actual; el feed de lanzamientos tiene su propia caché de consulta, de menor duración.

`GET /models/me` está reservado para filtrar en el futuro los modelos según los guardrails del usuario actual. Ahora devuelve `501 not implemented`, así que por el momento usa `GET /models` para consultar el catálogo compartido de Gateway.

## Filtros útiles

* `endpoints` usa nombres públicos como `chat.completions`, `responses` y `messages`
* `status` filtra por ciclo de vida del modelo, por ejemplo `active`, `deprecated` o `retired`
* `provider` filtra por ID público del proveedor, por ejemplo `openai`, `anthropic` o `google_vertex`
* `provider_status` filtra por nivel de despliegue del proveedor, por ejemplo `active`, `beta`, `alpha` o `not_ready`
* `provider_routing_status` filtra por estado de enrutamiento del proveedor
* `model_routing_status` filtra por estado de enrutamiento del modelo
* `capability_status` filtra por estado de capacidad del proveedor para la asignación de endpoint solicitada
* `provider_availability_status` filtra por disponibilidad del proveedor, por ejemplo `active`, `coming_soon` o `inactive`
* `provider_availability_reason` filtra por motivo de disponibilidad del proveedor, por ejemplo `preview_only`, `provider_not_ready`, `gated`, `access_limited` o `region_limited`
* `organisation` filtra por el prefijo del ID público del modelo; por ejemplo, `anthropic` en `anthropic/claude-3-haiku`
* `availability=active` es el valor predeterminado
* `availability=all` incluye modelos o proveedores que están `coming_soon`, `inactive` o aún no se pueden enrutar públicamente
* `input_modalities` es un alias de `input_types`
* `output_modalities` es un alias de `output_types`
* `supported_parameters` es un alias de `params`

Para consultar el contrato de endpoint de un modelo, llama a `GET /models/{author}/{slug}/endpoints`. La respuesta separa las rutas por proveedor e incluye, en cada fila, la ruta pública, las modalidades, los detalles de los parámetros compatibles, la disponibilidad, el estado de enrutamiento, el slug del modelo del proveedor y un resumen de precios.

Las entradas de proveedores también pueden incluir:

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

### Respuesta

```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` es el campo que explica por qué una entrada de proveedor está activa, disponible solo en vista previa o inactiva.


## OpenAPI

````yaml es/openapi/v1/openapi.localized.yaml GET /models
openapi: 3.0.3
info:
  title: Phaseo Gateway API
  description: >-
    Una API de pasarela para acceder a diversos modelos de IA mediante endpoints
    compatibles con OpenAI.
  version: 1.0.0
  contact:
    name: Phaseo
    url: https://phaseo.app
    email: danielbutler500@gmail.com
servers:
  - url: https://api.phaseo.app/v1
    description: Enrutamiento global
security:
  - BearerAuth: []
tags:
  - name: Gateway
    description: Core Phaseo Gateway operations.
paths:
  /models:
    get:
      tags:
        - Gateway
      summary: Listar modelos de la pasarela
      description: >-
        Devuelve los modelos compartidos y visibles de la pasarela. De forma
        predeterminada, muestra los modelos que se pueden enrutar públicamente;
        usa `availability=all` para incluir registros de disponibilidad que no
        se pueden enrutar.
      operationId: listModels
      parameters:
        - name: search
          in: query
          description: >-
            Búsqueda sin distinguir mayúsculas en identificadores, nombres y
            descripciones de modelos y organizaciones.
          schema:
            type: string
            maxLength: 200
        - name: provider_search
          in: query
          description: >-
            Búsqueda de proveedores u organizaciones de modelos sin distinguir
            mayúsculas.
          schema:
            type: string
            maxLength: 100
        - name: input_modality
          in: query
          description: Exigir una modalidad de entrada compatible.
          schema:
            type: string
            enum:
              - text
              - image
              - audio
              - video
        - name: minimum_context_tokens
          in: query
          description: Exigir al menos este número de tokens de contexto de entrada.
          schema:
            type: number
            minimum: 0
        - name: maximum_input_price_per_million
          in: query
          description: Precio máximo en USD de entrada por millón de tokens.
          schema:
            type: number
            minimum: 0
        - name: gateway_available_only
          in: query
          description: Devolver solo modelos con al menos una oferta enrutable del gateway.
          schema:
            type: boolean
            default: false
        - name: sort_by
          in: query
          description: >-
            Campo usado para ordenar los resultados del descubrimiento de
            modelos.
          schema:
            type: string
            enum:
              - relevance
              - input_price
              - output_price
              - context_length
              - provider_count
            default: relevance
        - name: sort_order
          in: query
          description: >-
            Dirección de orden opcional. Los precios se ordenan de forma
            ascendente por defecto; los demás valores numéricos, de forma
            descendente.
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: endpoints
          in: query
          description: Filtrar por endpoints
          schema:
            type: array
            items:
              type: string
        - name: organisation
          in: query
          description: Filtrar por organización
          schema:
            oneOf:
              - $ref: '#/components/schemas/OrganisationId'
              - type: array
                items:
                  $ref: '#/components/schemas/OrganisationId'
        - name: provider
          in: query
          description: Filtrar por ID del proveedor
          schema:
            type: array
            items:
              type: string
        - name: provider_status
          in: query
          description: Filtrar por estado de despliegue del proveedor
          schema:
            type: array
            items:
              type: string
        - name: provider_routing_status
          in: query
          description: Filtrar por estado de enrutamiento del proveedor
          schema:
            type: array
            items:
              type: string
        - name: model_routing_status
          in: query
          description: Filtrar por estado de enrutamiento del modelo
          schema:
            type: array
            items:
              type: string
        - name: capability_status
          in: query
          description: Filtrar por estado de capacidades del proveedor
          schema:
            type: array
            items:
              type: string
        - name: provider_availability_status
          in: query
          description: Filtrar por estado de disponibilidad del proveedor
          schema:
            type: array
            items:
              type: string
        - name: provider_availability_reason
          in: query
          description: Filtrar por motivo de disponibilidad del proveedor
          schema:
            type: array
            items:
              type: string
        - name: status
          in: query
          description: Filtrar por estado del modelo
          schema:
            type: array
            items:
              type: string
        - name: input_types
          in: query
          description: Filtrar por tipos de entrada
          schema:
            type: array
            items:
              type: string
        - name: input_modalities
          in: query
          description: Alias público de `input_types`.
          schema:
            type: array
            items:
              type: string
        - name: output_types
          in: query
          description: Filtrar por tipos de salida
          schema:
            type: array
            items:
              type: string
        - name: output_modalities
          in: query
          description: Alias público de `output_types`.
          schema:
            type: array
            items:
              type: string
        - name: params
          in: query
          description: Filtrar por parámetros
          schema:
            type: array
            items:
              type: string
        - name: supported_parameters
          in: query
          description: Alias público de `params`.
          schema:
            type: array
            items:
              type: string
        - name: availability
          in: query
          description: >-
            Filtro de disponibilidad. `active` devuelve solo los modelos
            enrutables públicamente; `all` incluye registros de disponibilidad
            no enrutables.
          schema:
            type: string
            enum:
              - active
              - all
            default: active
        - name: limit
          in: query
          description: Limitar el número de resultados
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 250
        - name: offset
          in: query
          description: Desplazamiento para la paginación
          schema:
            type: integer
            default: 0
            minimum: 0
            maximum: 5000
        - name: format
          in: query
          description: Formato de respuesta. De forma predeterminada, es `json`.
          schema:
            type: string
            enum:
              - json
              - rss
              - atom
            default: json
        - name: feed
          in: query
          description: Alias de `format`. Acepta `json`, `rss` o `atom`.
          schema:
            type: string
            enum:
              - json
              - rss
              - atom
      responses:
        '200':
          description: Lista de modelos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayModelsResponse'
            application/rss+xml:
              schema:
                type: string
                description: Feed XML RSS 2.0
            application/atom+xml:
              schema:
                type: string
                description: Feed XML Atom
        '400':
          description: Parámetros de solicitud no válidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestResponse'
        '401':
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      servers:
        - url: https://api.phaseo.app/v1
          description: Enrutamiento global
        - url: https://eu.api.phaseo.app/v1
          description: Enrutamiento regional a proveedores de la UE (solo texto)
        - url: https://us.api.phaseo.app/v1
          description: Enrutamiento regional a proveedores de EE. UU. (solo texto)
components:
  schemas:
    OrganisationId:
      type: string
      description: Identificador de la organización.
      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: >-
        Restricciones estructuradas y compatibilidad del proveedor para los
        parámetros de solicitud, organizadas por nombre de parámetro.
      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: Autenticación con token Bearer

````

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