🚀 Lanzamiento v2.3: Activa y desactiva métodos de pago para tu Conekta Checkout desde el Panel, sin tocar tu código. Ver documentación →

Create Api Key

Create a api key

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

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.

❗

scopes es obligatorio

Desde las versiones 2.0.0 a 2.3.0 de la API, toda llave privada creada con POST /api_keys debe incluir scopes con al menos un elemento. Si el campo falta, es null o es [], la API responde 422. Las llaves públicas no llevan scopes.

Parámetros

ParámetroTipoRequeridoDescripción
rolestringSíprivate para llaves de servidor.
descriptionstringNoAlias para identificar la llave, por ejemplo tienda en línea.
scopesarray de stringsSí, para role: privateLista 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.

RecursoLecturaEscritura
antifraudantifraud:readantifraud:write
api_keysapi_keys:readapi_keys:write
balancesbalances:readbalances:write
chargescharges:readcharges:write
checkoutscheckouts:readcheckouts:write
company_userscompany_users:readcompany_users:write
customerscustomers:readcustomers:write
eventsevents:readevents:write
logslogs:read—
ordersorders:readorders:write
partner_centerpartner_center:readpartner_center:write
payoutspayouts:readpayouts:write
receiptsreceipts:read—
reportsreports:readreports:write
settingssettings:readsettings:write
subscriptionssubscriptions:readsubscriptions:write
tokens—tokens:write
transactionstransactions:read—
transferstransfers:readtransfers:write
webhookswebhooks:readwebhooks:write
📘

Asigna solo lo que tu integración usa

Si 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 el authentication_token en un lugar seguro

Solo se muestra en la respuesta de creación. Consulta API Keys Producción para gestionar tus llaves.

Errores frecuentes

CódigoCausaSolución
422scopes falta, es null o es [].Envía al menos un scope del catálogo. El mensaje de error lista los scopes válidos.
422Algún elemento de scopes no existe en el catálogo. La lista se rechaza completa.Corrige o elimina el scope inválido.
422La 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.
403Usas 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

Body Params

requested field for a api keys

string

A name or brief explanation of what this api key is used for

string
required
Headers
string
enum
Defaults to es

Use for knowing which language to use

Allowed:
string

In the case of a holding company, the company id of the child company to which will process the request.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/vnd.conekta-v2.3.0+json