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

# Claves e IDs

> Encuentra y gestiona tu App ID, Organization ID y claves API de OneSignal. Aprende a crear, rotar, proteger y migrar claves de forma segura.

Tu cuenta de OneSignal incluye **IDs públicos** (App ID, Organization ID) y **claves API privadas** (App API key, Organization API key).

* El [App ID](#app-id) y el [Organization ID](#organization-id) son identificadores públicos, seguros para usar en código del lado del cliente e inicialización del SDK.
* La [Clave API de app](#app-api-key) y la [Clave API de organización](#organization-api-key) son secretos privados. Almacénalas de forma segura y nunca las expongas en código del lado del cliente.

Encuéntralas en el panel de OneSignal en **Settings > Keys & IDs** (nivel de app) o **Organizations > Tu organización > Keys & IDs** (nivel de organización).

***

## App ID

El **App ID** es un UUID (v4) público que identifica tu app de OneSignal.

Lo usas para:

* Inicializar el SDK (configuración del SDK móvil, configuración del SDK web)
* Realizar solicitudes a la API como Crear mensaje y Crear usuario

Encuentra tu App ID en el panel en **Settings > Keys & IDs** o a través de la API de [Ver apps](/reference/view-apps).

<Frame caption="Ubicación del App ID en Settings > Keys & IDs">
  <img src="https://mintcdn.com/onesignal/W0DIQbUDatcgdZf6/images/dashboard/dashboard-keys-and-ids-app-id-number.jpg?fit=max&auto=format&n=W0DIQbUDatcgdZf6&q=85&s=07fa6040dbc41ffa7dff116a0b1ad575" alt="Valor del App ID resaltado en la página de configuración de Keys & IDs" width="1375" height="528" data-path="images/dashboard/dashboard-keys-and-ids-app-id-number.jpg" />
</Frame>

<Check>
  Tu App ID es seguro para usar en la inicialización del SDK del lado del cliente. No es un secreto.
</Check>

***

## Organization ID

El **Organization ID (Org ID)** es un UUID (v4) que agrupa todas las apps bajo tu plan de facturación.

Lo necesitas para APIs a nivel de organización como:

* [Crear una app](/reference/create-an-app)
* [Actualizar una app](/reference/update-an-app)

Encuéntralo en **Organizations > Tu organización > Keys & IDs** o a través de la API de [Ver una app](/reference/view-an-app).

<Frame caption="Ubicación del Organization ID en el panel de OneSignal">
  <img src="https://mintcdn.com/onesignal/MWGmj5X1CnFliD-c/images/dashboard/dashboard-keys-and-ids-organization-id.png?fit=max&auto=format&n=MWGmj5X1CnFliD-c&q=85&s=b28d6312569975a67ca3eb1be9f568e4" alt="Panel de OneSignal mostrando el Organization ID en Keys & IDs" width="2560" height="1228" data-path="images/dashboard/dashboard-keys-and-ids-organization-id.png" />
</Frame>

***

## Claves API

Hay dos tipos de claves API. Ambas autentican solicitudes a la REST API y deben mantenerse en secreto. Elige la que coincida con lo que quieres hacer:

| Clave                                              | Para qué se usa                                                         |
| -------------------------------------------------- | ----------------------------------------------------------------------- |
| [Clave API de app](#app-api-key)                   | Una app específica: enviar mensajes, crear usuarios, leer estadísticas. |
| [Clave API de organización](#organization-api-key) | En toda tu organización: crear apps y gestionar otras claves API.       |

<Note>
  Puedes crear hasta 16 claves API de app por app y 16 claves API de organización por organización.
</Note>

### Clave API de app

Usa una **Clave API de app** para cualquier solicitud de la REST API limitada a una sola app: envío de mensajes; creación o actualización de usuarios; o lectura del historial de mensajes.

El panel nunca muestra los valores de claves API existentes. La cadena en la columna Key ID es solo un identificador interno, no la clave. Para volver a tener un secreto funcional, sigue los pasos a continuación para crear una nueva clave API o [rota una clave existente](#rotate-a-key). La rotación genera un nuevo valor manteniendo el mismo Key ID, nombre y lista de permitidos de IP, y el valor antiguo deja de funcionar inmediatamente.

<Frame caption="El panel muestra el Key ID, no el valor de la clave API. El valor real (que comienza con os_v2_app_) solo se muestra una vez, cuando la clave se crea o se rota.">
  <img src="https://mintcdn.com/onesignal/yYUi2EK-maheXJet/images/dashboard/api-key-list.png?fit=max&auto=format&n=yYUi2EK-maheXJet&q=85&s=e6c8dcfa23dc56ec4a2de364ffdffd99" alt="Tabla de Claves API en el panel de OneSignal mostrando la columna Key ID, que no es el valor de la clave API" width="2728" height="1104" data-path="images/dashboard/api-key-list.png" />
</Frame>

**Crear una Clave API de app**

Sigue estos pasos para crear una Clave API de app en el panel o usa la API de [Create API key](/reference/create-api-key).

<Steps>
  <Step title="Ve a Settings > Keys & IDs de la app">
    En el panel de OneSignal, selecciona tu app y ve a **Settings > Keys & IDs**.
  </Step>

  <Step title="Haz clic en Add Key">
    Introduce un nombre descriptivo (por ejemplo, `Backend service`). Opcionalmente, añade una [lista de permitidos de IP](#ip-allowlist) para que la clave solo funcione desde servidores aprobados.
  </Step>

  <Step title="Haz clic en Create y copia el valor de la clave inmediatamente">
    El valor comienza con `os_v2_app_` y **solo se muestra una vez**. Guárdalo en un gestor de secretos o variable de entorno del backend de inmediato.

    <Frame caption="Valor de la clave API generada, mostrado solo una vez">
      <img src="https://mintcdn.com/onesignal/QOf62tdZP66tkOD2/images/docs/generated-api-key.png?fit=max&auto=format&n=QOf62tdZP66tkOD2&q=85&s=81c7a600d8d5f88b79c47a027acc0c41" alt="Clave API generada mostrada después de la creación" width="764" height="768" data-path="images/docs/generated-api-key.png" />
    </Frame>
  </Step>
</Steps>

<Warning>
  Trata las Claves API de app como contraseñas:

  * Nunca las expongas en código del lado del cliente, ya sea móvil o web.
  * Nunca las subas a repositorios públicos (como GitHub).
  * Almacénalas en un backend seguro o en un gestor de secretos.
</Warning>

### Clave API de organización

Usa una **Clave API de organización** para operaciones que abarcan todas las apps de tu organización. Endpoints comunes:

* **Gestión de apps:** [Crear una app](/reference/create-an-app), [Ver apps](/reference/view-apps)
* **Gestión de claves API:** [Crear clave API](/reference/create-api-key), [Eliminar clave API](/reference/delete-api-key), [Rotar clave API](/reference/rotate-api-key)

**Crear una Clave API de organización:**

Las claves API de organización solo se crean en el panel. No hay un endpoint de API para crearlas.

<Steps>
  <Step title="Ve a Keys & IDs de la organización">
    En el panel de OneSignal, ve a **Organizations > Tu organización > Keys & IDs**.
  </Step>

  <Step title="Haz clic en Add Key y dale un nombre">
    Introduce un nombre descriptivo (por ejemplo, `App provisioning`). Opcionalmente, añade una [lista de permitidos de IP](#ip-allowlist).
  </Step>

  <Step title="Haz clic en Create y copia el valor de la clave inmediatamente">
    El valor comienza con `os_v2_app_` y **solo se muestra una vez**. Guárdalo de forma segura de inmediato.
  </Step>
</Steps>

<Frame caption="Página Keys & IDs de la organización donde se crean las Claves API de organización">
  <img src="https://mintcdn.com/onesignal/W0DIQbUDatcgdZf6/images/dashboard/default-org-api-keys-and-ids.jpg?fit=max&auto=format&n=W0DIQbUDatcgdZf6&q=85&s=d014d99705d175a153d43444b42adca3" alt="Sección de la Clave API de organización en el panel de Keys & IDs" width="1846" height="840" data-path="images/dashboard/default-org-api-keys-and-ids.jpg" />
</Frame>

<Warning>
  Las Claves API de organización conceden acceso a todas las apps de tu organización. Trátalas con especial cuidado y compártelas solo con servicios que realmente necesiten acceso a nivel de organización.
</Warning>

***

## Lista de permitidos de IP

La lista de permitidos de IP es opcional, pero muy recomendable. Restringe el uso de la clave API a direcciones IP específicas, de modo que una clave filtrada no pueda usarse desde otro lugar.

* Introduce bloques CIDR separados por espacios (ejemplo: `192.0.2.0/24 192.0.2.123/32`).
* Las solicitudes desde IPs no permitidas se rechazan.

Usa la lista de permitidos de IP para:

* Servicios backend con IPs estáticas.
* Entornos de producción de alta seguridad.

<Frame caption="Creando una clave API con la lista de permitidos de IP habilitada">
  <img src="https://mintcdn.com/onesignal/QOf62tdZP66tkOD2/images/docs/ip-allowlist-config.png?fit=max&auto=format&n=QOf62tdZP66tkOD2&q=85&s=d2bdf5bec27c8a982c027d428687a3b9" alt="Campo de configuración de la lista de permitidos de IP en el modal de creación de la clave API" width="764" height="542" data-path="images/docs/ip-allowlist-config.png" />
</Frame>

***

## Gestionar claves API

Después de crear una clave, puedes editarla, rotarla o eliminarla desde la lista de claves en **Settings > Keys & IDs**. Las Claves API de app también admiten estas operaciones a través de la REST API. Las Claves API de organización solo se gestionan en el panel.

### Editar una clave

Actualiza el nombre o la lista de permitidos de IP sin cambiar el valor secreto. No se requieren cambios en la integración.

Usa el panel, o la API de [Update API key](/reference/update-api-key) (solo Claves API de app).

### Rotar una clave

La rotación genera un nuevo secreto manteniendo el mismo Key ID, nombre y lista de permitidos de IP. El secreto antiguo deja de funcionar inmediatamente.

Rota una clave cuando:

* La clave se haya expuesto.
* Un miembro del equipo con acceso se vaya.
* Toque una rotación de seguridad de rutina.
* Hayas perdido el valor original de la clave y necesites un secreto funcional.

<Warning>
  Después de rotar una clave, actualiza todos los servicios que usaban el valor antiguo. Las solicitudes con la clave antigua fallan inmediatamente.
</Warning>

Usa el panel, o la API de [Rotate API key](/reference/rotate-api-key) (solo Claves API de app).

### Eliminar una clave

La eliminación quita la clave permanentemente y bloquea de inmediato el acceso a la API que la utilizaba. Usa la eliminación cuando una clave ya no sea necesaria.

Usa el panel, o la API de [Delete API key](/reference/delete-api-key) (solo Claves API de app).

***

## Migrar desde claves API heredadas

OneSignal introdujo las Claves API de app y de organización (con nombres, rotación y lista de permitidos de IP) en noviembre de 2024. La clave User Auth heredada y la clave REST API original siguen siendo aceptadas, pero la interfaz de gestión para ellas se ha eliminado y no se pueden crear nuevas claves.

<Steps>
  <Step title="Crea una nueva clave">
    Crea una nueva [Clave API de app](#app-api-key) o [Clave API de organización](#organization-api-key) según la clave heredada que estés reemplazando.
  </Step>

  <Step title="Actualiza tu código">
    Reemplaza la clave heredada con el nuevo valor en cada servicio que se autentique contra OneSignal.
  </Step>

  <Step title="Actualiza la URL base de la API">
    Cambia la URL base de tu API de `https://onesignal.com/api/v1/` a `https://api.onesignal.com`.
  </Step>

  <Step title="Verifica y luego desactiva la clave heredada">
    Prueba las solicitudes a la API en un entorno de staging y luego desactiva o elimina la clave heredada en **Settings > Keys & IDs**.
  </Step>
</Steps>

<Check>
  Verifica las solicitudes a la API en staging antes de desactivar tu clave heredada en producción.
</Check>

***

## Bloquear el acceso a la API

Para revocar una clave de inmediato, [rótala](#rotate-a-key) o [elimínala](#delete-a-key) en **Settings > Keys & IDs**. Las solicitudes que usen el valor antiguo fallan de inmediato.

Para detener el envío de mensajes o pausar una app por completo, consulta [Apps y organizaciones deshabilitadas](./disabled-apps).

***

## Mejores prácticas de seguridad

* Almacena las claves API en un backend seguro (nunca del lado del cliente).
* Usa variables de entorno o un gestor de secretos.
* Habilita la lista de permitidos de IP cuando sea posible.
* Rota las claves periódicamente.
* Usa claves separadas para staging y producción.

***

## Preguntas frecuentes

### ¿Cómo encuentro mi clave API?

Los valores de las claves API comienzan con `os_v2_app_` y solo se muestran una vez, inmediatamente después de crear o rotar la clave. La columna **Key ID** del panel es un identificador interno, no la clave API, y devuelve `401 Unauthorized` si se usa para autenticación. Si no guardaste el valor de tu clave, [rota la clave](#rotate-a-key) para generar uno nuevo. Consulta [Clave API de app](#app-api-key) o [Clave API de organización](#organization-api-key) para ver el flujo completo.

### ¿Puedo recuperar una Clave API de app heredada?

No. OneSignal ya no muestra las Claves API de app heredadas. Si no encuentras el valor en tu código, genera una nueva Clave API de app y actualiza tus integraciones.

### ¿Cuál es la diferencia entre un App ID, una Clave API de app y una Clave API de organización?

* **App ID**: Un identificador público para tu app. Se usa en la configuración del SDK y en las solicitudes a la API para especificar la app.
* **Clave API de app**: Un secreto usado para enviar mensajes y gestionar usuarios de una app.
* **Clave API de organización**: Un secreto usado para gestionar apps y configuraciones a nivel de organización en toda tu cuenta.

### ¿Qué pasa si mi clave API se expone?

[Rota la clave](#rotate-a-key) inmediatamente. La rotación invalida el valor antiguo y emite uno nuevo manteniendo el mismo Key ID, nombre y lista de permitidos de IP. Luego actualiza todos los servicios que usan la clave. Revisa tus [registros de auditoría](./audit-logs) para detectar actividad inesperada en la API.

***

## Páginas relacionadas

<Columns cols={2}>
  <Card title="Resumen de la REST API" icon="code" href="/reference/rest-api-overview">
    Autentica solicitudes y comprende la REST API de OneSignal.
  </Card>

  <Card title="Límites de tasa" icon="clock" href="/reference/rate-limits">
    Límites de tasa por clave y buenas prácticas para integraciones de alto volumen.
  </Card>

  <Card title="Registros de auditoría" icon="file-shield" href="./audit-logs">
    Revisa la actividad de la API y del panel por clave, usuario y tiempo.
  </Card>

  <Card title="Apps y organizaciones deshabilitadas" icon="ban" href="./disabled-apps">
    Pausa o cierra una app y comprende las implicaciones de facturación.
  </Card>
</Columns>
