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

# 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, API keys vinculadas a la región, configuración de región en la CLI y solución de problemas entre regiones.

<Note>
  Esta página fue traducida automáticamente. Si encuentra errores o tiene sugerencias, [contáctenos](mailto:support@rhombus.com).
</Note>

## Una organización, una región

Rhombus opera dos regiones de producción independientes: **EE. UU.** y **UE**. Tu organización — sus usuarios, dispositivos, API keys 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 headers de autenticación, los formatos de solicitud y respuesta, y los [límites de tasa](/es/rate-limits).

<Note>
  **Las API keys están vinculadas a la región.** Una key generada en la Consola de la UE solo funciona contra endpoints de la UE, y una key de EE. UU. solo funciona contra endpoints de EE. UU. No hay redirección entre regiones — consulta [Solución de problemas](#solución-de-problemas) más abajo.
</Note>

## 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 API keys en la consola de tu propia región en **Settings → API Management** — por ejemplo, las organizaciones de la UE usan [console.eu.rhombussystems.com/settings/api-management](https://console.eu.rhombussystems.com/settings/api-management/).

## 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 headers y los payloads nunca cambian.

<CodeGroup>
  ```bash cURL theme={null}
  # 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/getOrganization" \
    -H "x-auth-scheme: api-token" \
    -H "x-auth-apikey: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{}'
  ```

  ```python Python theme={null}
  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/getOrganization",
      headers={
          "x-auth-scheme": "api-token",
          "x-auth-apikey": "YOUR_API_KEY",
          "Content-Type": "application/json",
      },
      json={},
  )
  response.raise_for_status()
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  // 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/getOrganization`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "x-auth-scheme": "api-token",
      "x-auth-apikey": "YOUR_API_KEY",
    },
    body: JSON.stringify({}),
  });

  console.log(await response.json());
  ```
</CodeGroup>

Una llamada exitosa devuelve `200 OK` con los detalles de tu organización. Un `403 Forbidden` con `"Invalid api key"` generalmente significa que la key y la URL base pertenecen a regiones diferentes — consulta [Solución de problemas](#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 theme={null}
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](/es/rhombus-cli) tiene soporte de regiones integrado. `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, y `rhombus login` usa automáticamente los hosts regionales correspondientes de inicio de sesión y de tokens.

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 theme={null}
# 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)](/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 API keys: registra, autoriza e intercambia tokens todo en la misma región.
* **[Eventos en tiempo real por WebSocket](/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

### `403 Invalid api key` — pero la key es correcta

Una solicitud al endpoint de la región equivocada falla con:

```json theme={null}
{
  "msg": "Invalid api key",
  "error": "Forbidden",
  "status": 403
}
```

Esta respuesta es idéntica tanto si la key es realmente inválida 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 key es correcta, verifica en qué consola se generó (`console.` vs `console.eu.`) y asegúrate de que tu URL base coincida.

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

<CardGroup cols={2}>
  <Card title="Referencia de la API" icon="square-terminal" href="/api-reference/overview">
    Navega los 900+ endpoints — cada ruta funciona de forma idéntica en ambas regiones.
  </Card>

  <Card title="Rhombus CLI" icon="terminal" href="/es/rhombus-cli">
    Configura la CLI para tu región y explora la API desde tu terminal.
  </Card>

  <Card title="Eventos WebSocket" icon="bolt" href="/es/websocket/overview">
    Transmite eventos en tiempo real desde el endpoint WebSocket de tu región.
  </Card>

  <Card title="Límites de tasa" icon="gauge-high" href="/es/rate-limits">
    Los mismos límites aplican en ambas regiones, y se aplican dentro de la región de tu organización.
  </Card>
</CardGroup>
