> ## Índice de la documentación
> Consulta el índice completo de la documentación en: https://developer.rhombus.com/llms.txt
> Úsalo para descubrir todas las páginas disponibles antes de seguir explorando.

# Regiones de API (EE. UU. y UE)

> Conéctate a la región correcta de la API de Rhombus — URLs de endpoints de EE. UU. y la UE, claves de API vinculadas a la región, configuración de región en la CLI y solución de problemas entre regiones.

> **Note**: Esta página se tradujo automáticamente. Si encuentras errores o tienes sugerencias, [escríbenos](mailto:support@rhombus.com).

## Una organización, una región

Rhombus opera dos regiones de producción independientes: **EE. UU.** y **UE**. Tu organización — sus usuarios, dispositivos, claves de API y datos — vive exactamente en una de ellas. La región determina a qué hostnames se conecta tu integración; todo lo demás es idéntico, incluidas las rutas de los endpoints, los encabezados de autenticación, los formatos de solicitud y respuesta, y los [límites de tasa](https://developer.rhombus.com/es/rate-limits).

> **Note**: **Las claves de API y los tokens federados están vinculados a la región.** Una clave generada en la Consola de la UE solo funciona contra endpoints de la UE, y una clave de EE. UU. solo funciona contra endpoints de EE. UU. Un [token federado](https://developer.rhombus.com/es/authentication/federated-tokens) solo funciona en la región donde se generó. No hay redirección entre regiones — consulta [Solución de problemas](https://developer.rhombus.com/es/api-regions#solución-de-problemas) más abajo.

## Endpoints regionales

| Propósito              | EE. UU.                                                                               | UE                                                                                       |
| ---------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| URL base de la API     | `https://api2.rhombussystems.com`                                                     | `https://api2.eu.rhombussystems.com`                                                     |
| Media y streaming      | `https://media.rhombussystems.com`                                                    | `https://media.eu.rhombussystems.com`                                                    |
| Consola de Rhombus     | `https://console.rhombussystems.com`                                                  | `https://console.eu.rhombussystems.com`                                                  |
| Host de tokens OAuth   | `https://auth-web.rhombussystems.com`                                                 | `https://auth-web.eu.rhombussystems.com`                                                 |
| WebSocket (STOMP)      | `wss://ws.rhombussystems.com:8443/websocket`                                          | `wss://ws.eu.rhombussystems.com:8443/websocket`                                          |
| Especificación OpenAPI | [`/api/openapi/public.json`](https://api2.rhombussystems.com/api/openapi/public.json) | [`/api/openapi/public.json`](https://api2.eu.rhombussystems.com/api/openapi/public.json) |

El patrón es consistente en toda la plataforma: el hostname de la UE inserta `.eu.` después del subdominio — `api2.rhombussystems.com` se convierte en `api2.eu.rhombussystems.com`.

## ¿En qué región está tu organización?

Revisa la barra de direcciones cuando hayas iniciado sesión en la Consola de Rhombus:

- `console.rhombussystems.com` — tu organización está en la región de **EE. UU.**
- `console.eu.rhombussystems.com` — tu organización está en la región de la **UE** (la página de inicio de sesión también muestra la insignia **EU**).

Genera las claves de API en la consola de tu propia región en **Configuración → Integraciones y recursos para desarrolladores → Tokens de API**. Por ejemplo, las organizaciones de la UE usan [console.eu.rhombussystems.com/settings/integrations/api-tokens](https://console.eu.rhombussystems.com/settings/integrations/api-tokens/). Las cuentas partner usan **Configuración → Gestión de API**.

## Llama a la API en tu región

Define la URL base una sola vez y todos los ejemplos de código de esta documentación funcionan para cualquiera de las dos regiones — las rutas, los encabezados y los payloads nunca cambian.

```bash cURL
# Organizaciones de EE. UU.
BASE_URL="https://api2.rhombussystems.com"
# Organizaciones de la UE
# BASE_URL="https://api2.eu.rhombussystems.com"

curl -X POST "$BASE_URL/api/org/getOrgV2" \
  -H "x-auth-scheme: api-token" \
  -H "x-auth-apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

```python Python
import requests

# EE. UU.: "https://api2.rhombussystems.com"
# UE: "https://api2.eu.rhombussystems.com"
BASE_URL = "https://api2.rhombussystems.com"

response = requests.post(
    f"{BASE_URL}/api/org/getOrgV2",
    headers={
        "x-auth-scheme": "api-token",
        "x-auth-apikey": "YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={},
)
response.raise_for_status()
org = response.json()["org"]
print(org["uuid"], org["name"])
```

```javascript JavaScript
// EE. UU.: "https://api2.rhombussystems.com"
// UE: "https://api2.eu.rhombussystems.com"
const BASE_URL = "https://api2.rhombussystems.com";

const response = await fetch(`${BASE_URL}/api/org/getOrgV2`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-auth-scheme": "api-token",
    "x-auth-apikey": "YOUR_API_KEY",
  },
  body: JSON.stringify({}),
});

const { org } = await response.json();
console.log(org.uuid, org.name);
```

Una llamada exitosa devuelve `200 OK` con los detalles de tu organización en `org` (por ejemplo, `org.uuid` y `org.name`). Un `401 Unauthorized` con `errorCode` `INVALID_CREDENTIAL` y un `msg` `Could not find ApiKey[sha256:…]` generalmente significa que la clave y la URL base pertenecen a regiones diferentes. Consulta [Solución de problemas](https://developer.rhombus.com/es/api-regions#solución-de-problemas).

### SDKs generados

Cada región sirve la especificación OpenAPI en la misma ruta (`/api/openapi/public.json`). La entrada `servers` de la especificación actualmente solo lista la URL base de EE. UU., así que cuando generes un cliente para una organización de la UE, sobrescribe la URL base explícitamente:

```bash Generar un cliente para la UE
openapi-generator-cli generate \
  -i https://api2.eu.rhombussystems.com/api/openapi/public.json \
  -g python \
  -o ./rhombus-python-client

# Luego apunta el cliente generado al host de la UE, p. ej.:
# configuration.host = "https://api2.eu.rhombussystems.com"
```

## Rhombus CLI

La [Rhombus CLI](https://developer.rhombus.com/es/rhombus-cli) tiene soporte de regiones integrado. `rhombus login --region eu` inicia sesión en la región de la UE y guarda la región en el perfil; sin `--region`, `rhombus login` usa la región del perfil. `rhombus configure` pregunta en qué región está tu organización con el prompt `Region (us/eu)` y deriva la URL del endpoint a partir de tu respuesta. Después, cada comando usa los hosts regionales correspondientes, incluidos los de inicio de sesión y de tokens y, en `rhombus monitor`, el host WebSocket de la UE.

También puedes apuntar un solo comando — o todo tu entorno — directamente al endpoint de la UE:

```bash Overrides de región en la CLI
# Por comando
rhombus camera get-minimal-camera-state-list \
  --endpoint-url https://api2.eu.rhombussystems.com

# Por sesión de shell
export RHOMBUS_ENDPOINT_URL=https://api2.eu.rhombussystems.com
rhombus camera get-minimal-camera-state-list
```

## Conexiones OAuth y WebSocket

Los hostnames regionales aplican a toda la plataforma, no solo a la API REST:

- **[Inicia sesión con Rhombus (OAuth)](https://developer.rhombus.com/es/oauth-authentication)** — los tres hosts del flujo OAuth (consola, `auth-web`, `api2`) cambian a sus equivalentes `.eu.` para las organizaciones de la UE. Las aplicaciones OAuth están vinculadas a la región igual que las claves de API: registra, autoriza e intercambia tokens todo en la misma región.
- **[Eventos en tiempo real por WebSocket](https://developer.rhombus.com/es/websocket/overview)** — las organizaciones de la UE se conectan a `wss://ws.eu.rhombussystems.com:8443/websocket`. La autenticación y el protocolo STOMP son idénticos.

## Residencia de datos

Las organizaciones aprovisionadas en la región de la UE están alojadas en la Unión Europea: su tráfico de API, almacenamiento de video y procesamiento en la nube permanecen dentro de la región.

## Solución de problemas

### `401 Could not find ApiKey` — pero la key es correcta

Una solicitud con una clave de la otra región falla con `401 Unauthorized`:

```json
{
  "msg": "Could not find ApiKey[sha256:xxxxxxxx]",
  "error": true,
  "errorCode": "INVALID_CREDENTIAL",
  "errorMsg": "The supplied credential is malformed or not recognized.",
  "status": 401,
  "timestamp": 1791158465584,
  "txid": "yJ2kQw8LTaO1xX4hVd7mPA"
}
```

Esta respuesta es idéntica tanto si la clave se eliminó como si simplemente pertenece a la otra región — el error no incluye ninguna pista sobre la región. Si estás seguro de que la clave es correcta, verifica en qué consola se generó (`console.` vs `console.eu.`) y asegúrate de que tu URL base coincida. Un `msg` `Invalid api key` (con el mismo `errorCode`) significa otra cosa: el valor no es una clave bien formada (un error al copiar y pegar o espacios en blanco). Si contactas con soporte, indica el `txid` (también en el encabezado de respuesta `x-rhombus-txid`).

Los tokens federados también están vinculados a la región: un token generado en los hosts de EE. UU. falla en los hosts de la UE, y viceversa. Genéralo a través del host de la API de la misma región que las cámaras que vas a transmitir.

### OAuth: "This application is not available for your organization"

Los `clientId` de OAuth están vinculados a la región. Si tu aplicación se registró en una región y un usuario intenta autorizarla a través de la consola de la otra región, la pantalla de consentimiento muestra **This application is not available for your organization**. Asegúrate de que la llamada de registro, la URL de autorización y el intercambio de tokens apunten a la misma región que la organización del usuario que inicia sesión.

## Próximos pasos

- **[Referencia de la API](https://developer.rhombus.com/api-reference/overview)**: Navega los más de 1000 endpoints — cada ruta funciona de forma idéntica en ambas regiones.
- **[Rhombus CLI](https://developer.rhombus.com/es/rhombus-cli)**: Configura la CLI para tu región y explora la API desde tu terminal.
- **[Eventos WebSocket](https://developer.rhombus.com/es/websocket/overview)**: Transmite eventos en tiempo real desde el endpoint WebSocket de tu región.
- **[Límites de tasa](https://developer.rhombus.com/es/rate-limits)**: Los mismos límites aplican en ambas regiones, y se aplican dentro de la región de tu organización.
