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

# Moove API Keys

> Crea una clave API delimitada para la API de Moove, cópiala una vez y revócala de forma permanente cuando termines.

Crea una clave, cópiala una vez y úsala para llamar a la API de Moove.

<Info>
  **Solo web**, en [moove.xyz/dashboard/api-keys](https://www.moove.xyz/dashboard/api-keys). No hay equivalente en móvil.
</Info>

## ¿Cómo creo una clave API?

<Steps>
  <Step title="Abre Gestionar → Claves API">
    En el dashboard web.
  </Step>

  <Step title="Ponle nombre">
    Algo que reconozcas dentro de seis meses: el servicio o el entorno para el que es.
  </Step>

  <Step title="Elige un agente">
    **Moove Receive Agent** es el que existe. Se despliega en los permisos que ese agente necesita.
  </Step>

  <Step title="Copia la clave">
    <Warning>
      La clave en texto plano se muestra **una sola vez**, al crearla. Cópiala en ese momento y guárdala en tu gestor de secretos. Si cierras el diálogo sin copiarla, la clave queda inservible: crea otra.
    </Warning>
  </Step>
</Steps>

La URL base es `https://api.moove.xyz`.

## Agentes de Moove, no permisos sueltos

Eliges un **agente**, no una cadena de permisos. "Moove Receive Agent" es la unidad con la que un comercio puede razonar; `payment_link:create` no lo es.

| Agente                  | Estado       | Permisos que concede                       |
| ----------------------- | ------------ | ------------------------------------------ |
| **Moove Receive Agent** | **Activo**   | `payment_link:create`, `payment_link:read` |
| Moove Send Agent        | Próximamente | —                                          |
| Moove Swap Agent        | Próximamente | —                                          |
| Moove Ramp Agent        | Próximamente | —                                          |

Los tres agentes de próxima aparición se muestran desactivados. Seleccionar uno crearía una clave que no concede nada, así que el selector no te deja.

## Lo que una clave API puede y no puede hacer

<Note>
  Una clave es una **versión reducida de ti**. Actúa como tu cuenta y solo puede hacer un subconjunto de lo que tú puedes hacer.

  **Ningún endpoint mueve fondos.** Un enlace de pago siempre se liquida en tu propia wallet predeterminada, en el token de esa wallet: quien llama no puede indicar un destino. Una clave filtrada puede crear solicitudes que te paguen *a ti*. No puede pagar a nadie más.
</Note>

Una clave tampoco puede crear otra clave. La gestión de claves está autenticada solo por sesión, así que una clave comprometida no puede escalar sus propios permisos.

## ¿Cómo mantengo una clave segura?

<Warning>
  * Guárdala en un gestor de secretos o en una variable de entorno. Nunca en el control de versiones.
  * No la pegues nunca en un prompt, un chat, una incidencia o una captura de pantalla.
  * Usa una clave distinta por servicio, para que revocar una no tumbe las demás.
  * Revoca cualquier clave de la que no estés seguro. Crear una nueva lleva segundos.
</Warning>

## ¿Cuántas claves puedo tener?

Hasta **10 claves activas** por cuenta. Si creas una undécima, la petición se rechaza con `TOO_MANY_API_KEYS`: revoca antes alguna que ya no uses.

<Tip>
  Ese tope es una razón para delimitar las claves por integración y no por despliegue. Una clave por servicio que realmente tengas en marcha es más fácil de razonar, y más fácil de revocar cuando algo cambia.
</Tip>

## ¿Cómo revoco una clave?

<Steps>
  <Step title="Abre el menú de la clave">
    En **Gestionar → Claves API**, abre el menú **…** en la fila de la clave y elige **Revocar**.
  </Step>

  <Step title="Confirma">
    Vuelve a hacer clic en **Revocar** para confirmar. La clave deja de funcionar de inmediato.
  </Step>
</Steps>

<Warning>
  **La revocación es permanente.** No hay forma de deshacerla. El texto plano nunca se almacenó, así que una clave revocada no podría volver a usarse ni aunque se restaurara el registro. Emite una clave nueva.
</Warning>

## ¿Cómo uso una clave?

Envíala en la cabecera `X-API-Key` en cada petición.

```bash theme={null}
curl -sS -X POST "https://api.moove.xyz/v1/payment-link" \
  -H "X-API-Key: $MOOVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "toAmount": "49.99" }'
```

[Autenticación →](/api-reference/authentication)

## Antes de tu primera llamada

La API se niega a crear enlaces para una cuenta que no puede recibir pagos. Asegúrate de haber reclamado un [Moove Handle](/es-es/brand/moove-handle) y de tener una wallet predeterminada con un [token de liquidación](/es-es/concepts/settlement-and-auto-routing); si no, recibirás un `409`.

## Qué leer a continuación

<CardGroup cols={3}>
  <Card title="Autenticación" icon="lock" href="/api-reference/authentication">
    Cómo funciona la cabecera.
  </Card>

  <Card title="Moove Agentic Payments" icon="sparkles" href="/es-es/transact/moove-agentic-payments">
    Deja que una herramienta de IA haga la integración.
  </Card>

  <Card title="API de Moove Payment Links" icon="link" href="/api-reference/moove-receive/moove-payment-links">
    Los endpoints al completo.
  </Card>
</CardGroup>

Delimitadas, revocables, tuyas. Tu dinero. Tu movimiento.
