Emitir una credencial
Una solicitud, una credencial, y las carteras que se renderizan aparte.
POST/v1/credentials
Crea la credencial y la pasa a issued.
Solicitud
curl -X POST https://api.nomi-tech.com/v1/credentials \
-H "Authorization: Bearer nomi_sk_live_EXAMPLE" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order_example_12345" \
-d '{
"subjectId": "sub_…",
"templateKey": "membership_platinum",
"channels": ["apple_wallet", "google_wallet"],
"expiresAt": "2027-01-31T23:59:59Z"
}'| Campo | Obligatorio | Qué hace |
|---|---|---|
subjectId | Sí | Quién lleva la credencial. |
templateKey | Uno de los dos | Usa la última versión publicada de esa plantilla. |
templateVersionId | Uno de los dos | Fija una versión concreta. Tiene prioridad sobre templateKey. |
channels | No | apple_wallet, google_wallet o las dos. Por omisión, apple_wallet. |
expiresAt | No | Un instante RFC 3339. Manda sobre la regla de validez de la plantilla. |
La respuesta
201 Created
{
"id": "cred_…",
"serial": "…",
"state": "issued",
"fields": { "tier": "Platinum", "member": "Alex Morgan", "since": "2021-03-04" },
"subject": { "id": "sub_…", "externalId": "crm_example_001", "status": "active" },
"channels": [
{ "channel": "apple_wallet", "state": "pending", "installUrl": null },
{ "channel": "google_wallet", "state": "pending", "installUrl": null }
],
"publicId": "…",
"verificationUrl": "…",
"issuedAt": "2026-09-20T15:04:11Z",
"expiresAt": "2027-01-31T23:59:59Z"
}Reintentar sin riesgo
Manda un Idempotency-Key y un reintento repite la primera respuesta en vez de emitir dos veces. Una solicitud que expiró de regreso es indistinguible de una que nunca llegó — esto es lo que hace que reintentarla sea lo correcto. Ver Errores.