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

# Regional deployments

> Select a Baseten region for a deployment for compliance, data residency, or lower latency.

Regional deployments restrict every replica in a deployment to a specific Baseten region. You can select the region through the Baseten dashboard, Baseten CLI, or Management API.

## How placement works

Your organization's compliance policy defines the regions where its deployments may run. A deployment region adds a narrower constraint for one deployment. It cannot expand the regions allowed by the compliance policy.

| Deployment region | Compliance policy                    | Where replicas can run                        | Dashboard display   |
| :---------------- | :----------------------------------- | :-------------------------------------------- | :------------------ |
| Selected          | Absent or allows the selected region | The selected region only                      | The selected region |
| Selected          | Excludes the selected region         | The deployment request fails                  | No new deployment   |
| Not selected      | Present                              | Any region allowed by the policy              | The allowed regions |
| Not selected      | Absent                               | Any region in Baseten's global infrastructure | **Global**          |

**Global** is the default when neither a deployment region nor a compliance policy limits placement. Baseten can place replicas in any region where the requested compute is available.

## Regional deployment constraints

Keep the following in mind before selecting a region:

* **One region per deployment.** All replicas run in the selected region. For multi-region fallbacks or region exclusion rules, use [regional environments](/deployment/regional-environments) instead.
* **Region selection is not a capacity reservation.** Baseten checks whether it can schedule the selected accelerator in the region under the active compliance policy. If it can't, the deployment request fails. This check doesn't reserve future capacity.
* **The region is fixed per deployment.** You can't change a deployment's region in place. Changing regions creates a new deployment. See [change or promote a regional deployment](#change-or-promote-a-regional-deployment).
* **GPU deployments only.** Regional selection is supported for deployments on GPU instance types. Deployments on shared CPU instance types can't select a region.
* **Models only.** Regional selection applies to model deployments. Chains and training jobs can't select a region.

### Regional endpoints

Regional deployments require a regional endpoint that enters the deployment's region directly:

```text theme={"system"}
https://model-{model_id}-region-{region_slug}.api.baseten.co/predict
```

To copy the correct URL from the Baseten dashboard, open your model, select the deployment, and choose **API endpoint**.

Regional endpoints support the same request paths as other deployment endpoints. For gRPC, use `model-{model_id}-region-{region_slug}.grpc.api.baseten.co`.

<Note>
  Baseten reserves environment names that start with `region-`, so a regional deployment endpoint like `model-{model_id}-region-eu.api.baseten.co` can never collide with a [regional environment](/deployment/regional-environments#environment-naming-requirements) endpoint. If you try to create an environment with a reserved name, the request fails.
</Note>

## Available regions

The following regions are available for regional deployments.

| Region slug | Location       |
| :---------- | :------------- |
| `us`        | United States  |
| `eu`        | European Union |

<Note>
  Need a region that isn't listed? [Contact support](mailto:support@baseten.co).
</Note>

## Deploy to a region

Select a region with the Baseten CLI or REST API. In the dashboard, [redeploy from the deployment settings](#change-or-promote-a-regional-deployment) to select or change a region.

<Tabs>
  <Tab title="Baseten CLI">
    **To deploy a model to a region**:

    Deploy from your model's directory, passing a region slug from [available regions](#available-regions):

    ```bash theme={"system"}
    baseten model push --region eu
    ```

    For more information, see [`baseten model push`](/reference/cli/baseten/model).
  </Tab>

  <Tab title="REST API">
    **To deploy a model to a region**:

    Set the `region` field in the deployment payload you send to [`POST /v1/prepare_model_upload`](/reference/management-api/models/prepare-model-upload). `baseten model push --region` sends this field to the same endpoint.

    **To check a deployment's region**:

    <CodeGroup>
      ```bash Command theme={"system"}
      curl https://api.baseten.co/v1/models/$MODEL_ID/deployments \
        -H "Authorization: Bearer $BASETEN_API_KEY"
      ```

      ```json Output theme={"system"}
      {
        ...
        "region": {
          "slug": "eu",
          "display_name": "European Union"
        }
      }
      ```
    </CodeGroup>

    A `null` region means the deployment has no deployment-specific region. Baseten places replicas in any region where the required compute is available and your organization's compliance policy permits. If no compliance policy applies, the dashboard displays **Global**.
  </Tab>
</Tabs>

### Deploy errors

Region selection fails at deploy time with one of the following errors:

| Error                                                                                                                                                                              | Cause                                                                                                         | What to do                                                                             |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------- |
| `Region '...' cannot be found`                                                                                                                                                     | The region slug doesn't exist or isn't available to your organization.                                        | Use a region from [available regions](#available-regions).                             |
| `Instance type configuration does not support regional selection.`                                                                                                                 | The deployment's instance type is a shared CPU type.                                                          | Deploy on a GPU instance type to select a region.                                      |
| `Regional selection is only allowed on verified organizations. Contact support to get your organization verified.`                                                                 | Your organization is unverified.                                                                              | Get your organization verified to use regional deployments.                            |
| `Unable to schedule this deployment in region '...'. Please contact Baseten support for assistance.`                                                                               | Baseten can't schedule the requested configuration in the selected region.                                    | Try another available region or [contact support](mailto:support@baseten.co).          |
| `Unable to schedule this deployment in region '...'. Your organization's compliance policy may conflict with the requested region. Please contact Baseten support for assistance.` | No available placement satisfies the selected region, deployment configuration, and active compliance policy. | Select a region allowed by the policy or [contact support](mailto:support@baseten.co). |
| `This deployment's configuration cannot currently be scheduled. Please contact Baseten support for assistance.`                                                                    | Baseten can't schedule the combined deployment and compliance constraints.                                    | [Contact support](mailto:support@baseten.co).                                          |

## List regions

To list the regions you can select, call the regions API:

```bash theme={"system"}
curl https://api.baseten.co/v1/regions \
  -H "Authorization: Bearer $BASETEN_API_KEY"
```

```json theme={"system"}
[
  {
    "slug": "us",
    "display_name": "United States"
  },
  {
    "slug": "eu",
    "display_name": "European Union"
  }
]
```

The response lists only regions that your organization can select.

If you use [teams](/organization/teams), call the same endpoint with your team ID to list the regions that team can select:

```bash theme={"system"}
curl https://api.baseten.co/v1/teams/$TEAM_ID/regions \
  -H "Authorization: Bearer $BASETEN_API_KEY"
```

## Change or promote a regional deployment

Because a deployment's region is fixed, changing regions always creates a new deployment. The current deployment keeps serving until the new one is ready.

### Change a deployment's region

<Tabs>
  <Tab title="Dashboard">
    <Steps>
      <Step title="Open the deployment">
        Sign in to [app.baseten.co](https://app.baseten.co), choose **Dedicated Inference**, select your model, and open the deployment under **Deployments**.
      </Step>

      <Step title="Open the region settings">
        In **Deployment settings**, under **Instance type**, choose **Manage**.
      </Step>

      <Step title="Select a region">
        In **Region**, set **After redeployment** to the new region. Select **Global** to remove the deployment-specific region constraint. Baseten still applies your organization's compliance policy.
      </Step>

      <Step title="Redeploy">
        Choose **Deploy with new region**.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Baseten CLI">
    Push the model again with a different region:

    ```bash theme={"system"}
    baseten model push --region us
    ```
  </Tab>
</Tabs>

### Promote a regional deployment

Promoting a regional deployment works like any other promotion, with two differences:

1. When you promote, you can keep the current region, pick a different one, or select **Global** to remove the deployment-specific region constraint. Baseten still applies your organization's compliance policy.
2. A deployment with a selected region can't be promoted into a [regional environment](/deployment/regional-environments). Such a promotion fails with `A deployment with a specified region cannot target regional environment '{environment}'`. To promote into a regional environment, first promote a deployment without a selected region.

## Regional deployments vs. regional environments

Regional deployments and [regional environments](/deployment/regional-environments) both constrain replicas to a region, but they work differently:

|                      | Regional deployments                                                              | Regional environments                                    |
| :------------------- | :-------------------------------------------------------------------------------- | :------------------------------------------------------- |
| Who configures it    | You, self-service at deploy time                                                  | Baseten, after you request it                            |
| Scope                | A single deployment                                                               | Every model and Chain in an environment                  |
| Fallbacks            | None: replicas stay in the region you chose                                       | Managed: replicas can spill over regions during fallback |
| Capacity reservation | Not guaranteed                                                                    | Not guaranteed                                           |
| Endpoint behavior    | Regional endpoint required                                                        | Regional endpoint can be required                        |
| Best for             | Latency tuning and data residency for specific deployments, with instant feedback | Set-and-forget compliance and multi-region architectures |

Use a regional deployment when you want to pick a region yourself and see the effect right away. Use a regional environment when you want Baseten-managed configuration with regional fallbacks for everything in an environment.

## Related

* [Regional environments](/deployment/regional-environments)
* [Deployments](/deployment/deployments)
* [Environments](/deployment/environments)
* [Promote between environments](/deployment/rolling-deployments)
