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

# Alcances clave API

> Permisos del canal push: aplicaciones, dispositivos, envío y consulta.

<Tip>
  Cada alcance es una **puerta** en su clave: aplicación, registro de dispositivo, envío o lectura. Abra solo lo que necesite.
</Tip>

Cada **alcance** desbloquea un tipo de operación Push. Use solo lo que su integración necesita.

## Cómo enviar la clave

**Recomendado**

```http theme={null}
Authorization: Bearer sk_live_su_clave_aqui
```

**Alternativo**

```http theme={null}
x-api-key: sk_live_su_clave_aqui
```

<Info>
  Cada clave API pertenece a **un** espacio de trabajo. No puede acceder a otro espacio de trabajo con la misma clave.
</Info>

## Combinaciones comunes

<CardGroup cols={2}>
  <Card title="Solo enviar" icon="paper-plane">
    `push:send`
  </Card>

  <Card title="Enviar y consultar" icon="magnifying-glass">
    `push:send`, `push:read`
  </Card>

  <Card title="Setup web completo" icon="globe">
    `push:apps:manage`, `push:devices:register`, `push:send`, `push:read`
  </Card>

  <Card title="Solo registrar dispositivos" icon="mobile">
    `push:devices:register`
  </Card>
</CardGroup>

<Warning>
  Lista de alcances **vacía** al crear = acceso **ADMIN** (todo). En producción, restrinja siempre.
</Warning>

## Alcances disponibles

<AccordionGroup>
  <Accordion title="push:apps:read">
    Enumere y consulte aplicaciones Push en el espacio de trabajo.
  </Accordion>

  <Accordion title="push:apps:manage">
    Cree, actualice (VAPID, FCM, APNs según evolucione el producto) y elimine aplicaciones push.
  </Accordion>

  <Accordion title="push:devices:register">
    Registre un dispositivo o una suscripción. También se utiliza para quitar un dispositivo.
  </Accordion>

  <Accordion title="push:send">
    Envíe notificaciones inmediatas o programadas a hasta 100 IDs de dispositivo por solicitud.
  </Accordion>

  <Accordion title="push:read">
    * Listar y consultar envíos
    * Listar y consultar dispositivos
    * Cancelar envío programado (estado `SCHEDULED`)
  </Accordion>
</AccordionGroup>

## Límite por aplicación

Si la clave tiene configurada **`pushAppIds`**, solo puede enviar a dispositivos de esas aplicaciones. Dispositivo de otra aplicación → **403** (`PUSH_APP_NOT_ALLOWED`).

Lista vacía = cualquier aplicación en el espacio de trabajo.

## Errores comunes

<AccordionGroup>
  <Accordion title="401: clave ausente, inválida o revocada">
    Verifique `Authorization: Bearer sk_...` y que la clave no se eliminó en el panel.
  </Accordion>

  <Accordion title="403: alcance ausente o app no permitida">
    Verifique el alcance de la operación, `pushAppIds` en la clave y el origen permitido en la aplicación (`ORIGIN_NOT_ALLOWED` en el registro público).
  </Accordion>

  <Accordion title="402/403: créditos o programación">
    El envío requiere créditos (`PLAN_LIMIT_CREDITS`). La programación depende del plan (`PLAN_LIMIT_SCHEDULING`).
  </Accordion>
</AccordionGroup>

## Próximos pasos

* [Inicio rápido](/es/push-api/como-funciona/quick-start)
* [Eventos de webhook](/es/push-api/como-funciona/eventos-do-webhooks)
* [Guía de claves API](/es/guides/api-key/index)
