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

# Fijar o excluir proveedores por solicitud

> Usa controles de proveedor por solicitud para establecer un orden de preferencia, limitar el conjunto o excluir un proveedor.

Usa esta receta cuando quieras que una solicitud prefiera una ruta de proveedor específica sin cambiar los valores predeterminados de enrutamiento de todo el espacio de trabajo.

## Objetivo

* Prueba los proveedores en el orden preferido.
* Limita una solicitud a un subconjunto de proveedores aprobados.
* Ignora temporalmente un proveedor sin editar los presets.

## 1. Prueba los proveedores en un orden específico

Usa `provider.order` cuando ya conozcas el orden de rutas que prefieres.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.phaseo.app/v1/responses \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "anthropic/claude-opus-4.6",
      "input": "Write a concise launch summary.",
      "provider": {
        "order": ["anthropic-us", "anthropic"]
      }
    }'
  ```

  ```typescript TypeScript SDK theme={null}
  import Phaseo from "@phaseo/sdk";

  const client = new Phaseo({ apiKey: process.env.PHASEO_API_KEY! });

  const response = await client.generateResponse({
    model: "anthropic/claude-opus-4.6",
    input: "Write a concise launch summary.",
    provider: {
      order: ["anthropic-us", "anthropic"],
    },
  });

  console.log(response.output_text);
  ```

  ```python Python SDK theme={null}
  from phaseo import Phaseo

  client = Phaseo(api_key="YOUR_API_KEY")

  response = client.generate_response(
      {
          "model": "anthropic/claude-opus-4.6",
          "input": "Write a concise launch summary.",
          "provider": {
              "order": ["anthropic-us", "anthropic"],
          },
      }
  )

  print(response.get("output_text"))
  ```
</CodeGroup>

Esto coloca a los proveedores indicados al principio del orden de candidatos, antes que el resto de los proveedores disponibles.

## 2. Limita la solicitud a un subconjunto fijo de proveedores

Usa `provider.only` cuando la solicitud deba limitarse a una lista de permitidos pequeña.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.phaseo.app/v1/responses \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "openai/gpt-5.4-nano",
      "input": "Extract the action items.",
      "provider": {
        "only": ["openai", "openai-eu"],
        "sort": "price"
      }
    }'
  ```

  ```typescript TypeScript SDK theme={null}
  import Phaseo from "@phaseo/sdk";

  const client = new Phaseo({ apiKey: process.env.PHASEO_API_KEY! });

  const response = await client.generateResponse({
    model: "openai/gpt-5.4-nano",
    input: "Extract the action items.",
    provider: {
      only: ["openai", "openai-eu"],
      sort: "price",
    },
  });

  console.log(response.output_text);
  ```

  ```python Python SDK theme={null}
  from phaseo import Phaseo

  client = Phaseo(api_key="YOUR_API_KEY")

  response = client.generate_response(
      {
          "model": "openai/gpt-5.4-nano",
          "input": "Extract the action items.",
          "provider": {
              "only": ["openai", "openai-eu"],
              "sort": "price",
          },
      }
  )

  print(response.get("output_text"))
  ```
</CodeGroup>

Esto limita la solicitud a esos proveedores y después aplica el método de clasificación elegido dentro del subconjunto.

## 3. Excluye un proveedor de la selección

Usa `provider.ignore` para omitir un proveedor en una solicitud o durante un despliegue temporal.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.phaseo.app/v1/responses \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "meta/llama-4-maverick",
      "input": "Summarize the transcript.",
      "provider": {
        "ignore": ["deepinfra"]
      }
    }'
  ```

  ```typescript TypeScript SDK theme={null}
  import Phaseo from "@phaseo/sdk";

  const client = new Phaseo({ apiKey: process.env.PHASEO_API_KEY! });

  const response = await client.generateResponse({
    model: "meta/llama-4-maverick",
    input: "Summarize the transcript.",
    provider: {
      ignore: ["deepinfra"],
    },
  });

  console.log(response.output_text);
  ```

  ```python Python SDK theme={null}
  from phaseo import Phaseo

  client = Phaseo(api_key="YOUR_API_KEY")

  response = client.generate_response(
      {
          "model": "meta/llama-4-maverick",
          "input": "Summarize the transcript.",
          "provider": {
              "ignore": ["deepinfra"],
          },
      }
  )

  print(response.get("output_text"))
  ```
</CodeGroup>

Esto resulta útil cuando:

* un proveedor tiene problemas
* estás validando otra ruta de proveedor
* quieres comparar los resultados del enrutamiento sin editar un preset

## 4. Combina los controles con cuidado

Puedes combinar estos controles, pero mantén clara la intención:

* usa `order` para indicar una preferencia
* usa `only` para limitar el conjunto de candidatos
* usa `ignore` para excluir un proveedor

Un patrón práctico combina:

* `only` para limitar la solicitud a `google-vertex` y `google-vertex-eu`
* `order` para priorizar `google-vertex-eu`
* `sort: "latency"` para ordenar ese conjunto permitido

## 5. Cuándo trasladarlo a un preset

Si las mismas reglas de proveedor aparecen en varios servicios, deja de copiarlas en cada solicitud y pásalas a un preset.

Usa el enrutamiento por solicitud cuando la excepción sea:

* temporal
* específica del solicitante
* vinculada a un flujo de usuario

## Guías relacionadas

* [Enrutamiento y alternativas](../guides/routing-and-fallbacks.mdx)
* [Implementar presets y depurar el enrutamiento](./preset-rollout-and-routing-debug.mdx)


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