---
title: "Autenticación y claves de API"
description: "Crea, nombra y revoca claves de API de Requiply, elige entre una clave publicable para tiendas online en el navegador y una clave secreta para servidores, y conoce el límite de peticiones."
canonical_url: "https://requiply.com/docs/es/developers/authentication-and-api-keys"
---
# Autenticación y claves de API

> Crea, nombra y revoca claves de API de Requiply, elige entre una clave publicable para tiendas online en el navegador y una clave secreta para servidores, y conoce el límite de peticiones.

Cada petición a la API pública, desde el SDK o por REST, lleva una clave de API como token de portador (bearer token):

```http
Authorization: Bearer <api-key>
```

## Crear una clave

Las claves de API se gestionan en **Settings → Organization → API keys** ([app.requiply.com/settings/org/api-keys](https://app.requiply.com/settings/org/api-keys)). Solo ven esta página los miembros con el rol **Admin**.

1. Pulsa **Create key** (crear clave).
2. Escribe un **Name** (nombre) que indique dónde se usa la clave, por ejemplo *Web en Lovable* o *Sincronización con contabilidad*.
3. Elige el **Type** (tipo): **Publishable** (publicable) o **Secret** (secreta).
4. Pulsa **Create key** y copia la clave del diálogo **Save this key now** (guarda esta clave ahora).

<warning>

La clave completa solo se muestra una vez. Si la pierdes, crea una clave nueva y revoca la antigua.

</warning>

La tabla lista cada clave con su nombre, su tipo, una **Key** (clave) enmascarada (el prefijo y los cuatro últimos caracteres, suficiente para distinguir unas claves de otras), cuándo se creó y cuándo se usó por última vez (**Last used**). El lápiz cambia el nombre de una clave. El icono de prohibido la revoca: una clave revocada deja de funcionar al momento y no se puede recuperar. Activa **Show revoked** (mostrar revocadas) para ver las claves revocadas.

## Elegir el tipo de clave

<table>
<thead>
  <tr>
    <th>
      
    </th>
    
    <th>
      Clave publicable (<code>
        rq_pk_…
      </code>
      
      )
    </th>
    
    <th>
      Clave secreta (<code>
        rq_sk_…
      </code>
      
      )
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Dónde se usa
      </strong>
    </td>
    
    <td>
      Código del navegador, una web, una app móvil
    </td>
    
    <td>
      Solo en código de servidor y variables de entorno
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Información de la organización, catálogo, servicios
      </strong>
    </td>
    
    <td>
      Sí
    </td>
    
    <td>
      Sí
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Disponibilidad y presupuestos
      </strong>
    </td>
    
    <td>
      Sí
    </td>
    
    <td>
      Sí
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Reservas
      </strong>
    </td>
    
    <td>
      Solo solicitudes de reserva (<code>
        asRequest: true
      </code>
      
      )
    </td>
    
    <td>
      Crear, listar, leer, añadir notas
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Productos en venta
      </strong>
    </td>
    
    <td>
      Explorarlos y añadirlos a una solicitud de reserva, mientras la organización <a href="https://requiply.com/docs/es/developers/typescript-sdk/sales#con-una-clave-publicable">
        vende a los clientes
      </a>
    </td>
    
    <td>
      Todo lo de <a href="https://requiply.com/docs/es/developers/typescript-sdk/sales">
        Ventas
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Clientes, informes, estado del inventario, resumen de la organización
      </strong>
    </td>
    
    <td>
      No
    </td>
    
    <td>
      Sí
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Productos de subalquiler de proveedores
      </strong>
    </td>
    
    <td>
      Nunca
    </td>
    
    <td>
      Cuando los subalquileres están activados
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Ajustes del coste de la reserva, reservas fuera del horario
      </strong>
    </td>
    
    <td>
      No
    </td>
    
    <td>
      Sí
    </td>
  </tr>
</tbody>
</table>

La lista completa por endpoint está en la [referencia de la API REST](https://requiply.com/docs/es/developers/api-reference#endpoints).

### Claves publicables

Una clave publicable la puede ver cualquiera que abra el código fuente de tu página, y la API la acepta desde cualquier origen. Lo que la mantiene segura es su alcance: lee el catálogo, calcula presupuestos y envía solicitudes de reserva que el personal aprueba en la app. Nunca ve las fichas de clientes ni los informes, nunca bloquea inventario por su cuenta y no puede comprar productos por encima del stock disponible. Si alguien abusa de una clave, revócala y crea una nueva.

```ts
const requiply = new RequiplyClient({ apiKey: 'rq_pk_live_...' });
```

### Claves secretas

Una clave secreta actúa en nombre de toda la organización, no de un miembro de tu equipo. Guárdala en código de servidor y en variables de entorno:

```bash
REQUIPLY_SECRET_KEY=rq_sk_live_...
```

```ts
const requiply = new RequiplyClient({
  apiKey: process.env.REQUIPLY_SECRET_KEY!,
});
```

<caution>

Nunca subas claves de API reales a Git, no pegues claves secretas en código del navegador y no las expongas en variables de entorno públicas como `NEXT_PUBLIC_…` o `NUXT_PUBLIC_…`.

</caution>

El SDK rechaza una clave `rq_sk_` en un navegador. Tiene una opción `dangerouslyAllowSecretKeyInBrowser` para herramientas locales que las integraciones en producción nunca deben activar.

## Límites de peticiones

Cada clave puede hacer 100 peticiones por minuto. Las peticiones que superan ese límite reciben un `429` con una cabecera `Retry-After` en segundos, que el SDK expone como `RequiplyError.retryAfter`. Los navegadores no pueden leer esa cabecera entre orígenes distintos, así que una tienda online debe esperar unos segundos antes de reintentar. Consulta [Gestión de errores](https://requiply.com/docs/es/developers/typescript-sdk/error-handling#l%C3%ADmites-de-peticiones).

## Peticiones entre orígenes

La API pública responde a peticiones desde cualquier origen, así que no hay que registrar ningún dominio. Los navegadores pueden enviar las cabeceras `Authorization`, `Accept` y `Content-Type`; una petición entre orígenes con cualquier otra cabecera personalizada se bloquea antes de llegar a Requiply.

## Sin modo de prueba

Todas las claves trabajan con datos reales. Para documentación interactiva y demos, usa una clave publicable de una organización de demostración, y dirige todo lo que cree reservas o ventas a una organización cuyos registros puedas eliminar.

## Agentes de IA y MCP

La misma clave secreta también da acceso al [servidor MCP](https://requiply.com/docs/es/ai/mcp) de Requiply a un agente que crees tú. Envíala como token de portador a `https://api.requiply.com/api/mcp`. El agente obtiene las herramientas de toda la organización que permite una clave secreta; las escrituras siguen pasando por el paso de vista previa y confirmación que se describe en esa página. Asistentes como Claude y ChatGPT se conectan con OAuth y no necesitan ninguna clave. Las claves publicables no dan acceso al servidor MCP.


## Sitemap

See the full [sitemap](https://requiply.com/docs/sitemap.md) for all pages.
