# Environments & regions

Celigo runs two physically isolated production environments. You cannot access data from one environment in the other. There are no cross-region tokens.&#x20;

## Data centers

| Region | UI                         | API base URL                   | Where data lives |
| ------ | -------------------------- | ------------------------------ | ---------------- |
| US     | `https://integrator.io`    | `https://api.integrator.io`    | United States    |
| EU     | `https://eu.integrator.io` | `https://api.eu.integrator.io` | European Union   |

> **How do I know which region I'm on?** Look at the URL in your browser when you're signed in. If it's `integrator.io` you're on US. If it's `eu.integrator.io` you're on EU.

#### Invoke your account

When invoking your account, the following remains unchanged, regardless of your account's location.

* Request and response shapes.
* Pagination, rate-limit, and error semantics.
* The `@celigo/celigo-cli` tool.

## Access multi-environments

Celigo **does not** host separate non-production environments. Multi-environment access is a per-account flag. Non-production and production environments live behind the same hostname (`api.integrator.io` or `api.eu.integrator.io`) but a **different token**.

> ⚠️ Sandbox and production resources cannot mix. A `sandbox: true` flow must use only `sandbox: true` connections, exports, imports, and scripts. The API will reject mixed references with a `422`.

To check whether your account has a non-production environment attached, call `GET /v1/ashares`:

```http
GET /v1/ashares HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_TOKEN
```

Each entry in the returned array has `name` and `environment` (`"production"` or `"sandbox"`).

## Targeting a region

### Via the CLI

Set a profile per region:

```bash
celigo profile add us --api-token "$US_TOKEN" --api-base-url https://api.integrator.io
celigo profile add eu --api-token "$EU_TOKEN" --api-base-url https://api.eu.integrator.io

celigo --profile us integrations list
celigo --profile eu integrations list
```

### Via environment variables

```bash
export CELIGO_API_TOKEN=$US_TOKEN
export CELIGO_BASE_URL=https://api.integrator.io
```

### Via request

Every curl / SDK call simply swaps the hostname:

```bash
# US
curl https://api.integrator.io/v1/integrations -H "Authorization: Bearer $US_TOKEN"

# EU
curl https://api.eu.integrator.io/v1/integrations -H "Authorization: Bearer $EU_TOKEN"
```

## Residency & compliance

The EU data center is Celigo's answer to **data residency** requirements — GDPR, UK-GDPR, and customer contracts that require EU-only processing. Data created on the EU tenant never leaves the EU.

If your use case requires residency, confirm with your Celigo account team that your tenant was provisioned in the EU. You cannot migrate a production US tenant to EU in place — the move involves re-creating integrations and re-binding connections.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.celigo.com/api/getting-started/environments.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
