Create a api key
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Crea una llave privada para que tu servidor se autentique contra la API de Conekta. Cada llave privada se crea con una lista de scopes: los recursos a los que tendrá acceso y si podrá solo leerlos o también modificarlos. La llave solo funciona en los endpoints que cubren sus scopes.
scopeses obligatorioDesde las versiones
2.0.0a2.3.0de la API, toda llave privada creada conPOST /api_keysdebe incluirscopescon al menos un elemento. Si el campo falta, esnullo es[], la API responde422. Las llaves públicas no llevan scopes.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
role | string | Sí | private para llaves de servidor. |
description | string | No | Alias para identificar la llave, por ejemplo tienda en línea. |
scopes | array de strings | Sí, para role: private | Lista de scopes del catálogo. Al menos uno. |
Catálogo de scopes
Cada scope tiene el formato recurso:acción. Un scope :write incluye el :read del mismo recurso: una llave con orders:write también puede leer órdenes.
| Recurso | Lectura | Escritura |
|---|---|---|
antifraud | antifraud:read | antifraud:write |
api_keys | api_keys:read | api_keys:write |
balances | balances:read | balances:write |
charges | charges:read | charges:write |
checkouts | checkouts:read | checkouts:write |
company_users | company_users:read | company_users:write |
customers | customers:read | customers:write |
events | events:read | events:write |
logs | logs:read | — |
orders | orders:read | orders:write |
partner_center | partner_center:read | partner_center:write |
payouts | payouts:read | payouts:write |
receipts | receipts:read | — |
reports | reports:read | reports:write |
settings | settings:read | settings:write |
subscriptions | subscriptions:read | subscriptions:write |
tokens | — | tokens:write |
transactions | transactions:read | — |
transfers | transfers:read | transfers:write |
webhooks | webhooks:read | webhooks:write |
Asigna solo lo que tu integración usaSi una llave se expone, el impacto se limita a sus scopes. Usa una llave distinta por integración en lugar de una sola llave con todos los permisos.
Ejemplo
curl -X POST https://api.conekta.io/api_keys \
-H "Accept: application/vnd.conekta-v2.3.0+json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer key_xxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{
"role": "private",
"description": "tienda en línea",
"scopes": ["orders:write", "charges:read", "webhooks:read"]
}'La respuesta incluye los scopes asignados a la llave:
{
"id": "64625cc9f3e02c00163f5e4d",
"object": "api_key",
"role": "private",
"description": "tienda en línea",
"active": true,
"livemode": false,
"prefix": "key_rp",
"created_at": 1684167881,
"deactivated_at": null,
"last_used_at": null,
"authentication_token": "key_xxxxxxxxxxxxxxxxxxxxxxxx",
"scopes": ["charges:read", "orders:write", "webhooks:read"]
}
Guarda elauthentication_tokenen un lugar seguroSolo se muestra en la respuesta de creación. Consulta API Keys Producción para gestionar tus llaves.
Errores frecuentes
| Código | Causa | Solución |
|---|---|---|
422 | scopes falta, es null o es []. | Envía al menos un scope del catálogo. El mensaje de error lista los scopes válidos. |
422 | Algún elemento de scopes no existe en el catálogo. La lista se rechaza completa. | Corrige o elimina el scope inválido. |
422 | La llave con la que haces la petición tiene scopes y pides alguno que ella no tiene. Una llave no puede otorgar más permisos de los que tiene. | Pide solo scopes que tenga la llave emisora, o crea la llave desde el Panel Conekta. |
403 | Usas la llave en un endpoint que no cubren sus scopes. El mensaje indica el scope requerido. | Crea una llave nueva que incluya ese scope. Los scopes no se pueden editar en una llave existente. |
Consulta el catálogo completo en Códigos de error HTTP.
Relacionado
- API Keys Producción — crear y administrar llaves desde el panel.
- API Keys Pruebas — llaves para el modo de pruebas.
- Rotación de llaves de API — reemplazar una llave sin interrumpir tu integración.

