SIFENDE
Referencia APIAPI Keys

Crear API Key

POST /api/v1/contribuyentes/:contribuyenteId/api-keys — creá un nuevo API key para autenticar llamadas de integración.

POST /api/v1/contribuyentes/:contribuyenteId/api-keys

Crea un nuevo API key para el contribuyente indicado. La clave en texto plano se devuelve una única vez en esta respuesta.

Autenticación

Authorization: Bearer {jwt} — JWT de Keycloak. El usuario autenticado debe ser propietario del contribuyente.

Path parameters

ParámetroTipoDescripción
contribuyenteIdintegerID interno del contribuyente

Request body

{
  "nombre": "Integración ERP Producción",
  "expiraEn": "2027-01-01T00:00:00"
}
CampoTipoReq.Descripción
nombrestringNombre descriptivo de la clave (máx. 100 caracteres)
expiraEndatetimeNoFecha de expiración ISO 8601. Si es null, la clave no expira

Respuesta exitosa

Status: 201 Created

{
  "status": "success",
  "payload": {
    "apiKeyId": 42,
    "nombre": "Integración ERP Producción",
    "key": "sk_live_8f3a9c2e7b5d4a1f6e0c9b8a7d3f2e1c",
    "keyPrefix": "sk_live_8f3a9c2e",
    "estaActivo": true,
    "ultimoUso": null,
    "expiraEn": "2027-01-01T00:00:00",
    "fechaCreacion": "2026-04-27T14:32:18"
  }
}

El campo key se muestra únicamente en esta respuesta. No se almacena en texto plano y no puede recuperarse después. Guardalo de forma segura inmediatamente — si lo perdés, vas a tener que rotar la clave.

El prefijo sk_live_ indica una clave de producción; sk_test_ corresponde al ambiente de prueba.

Errores

StatusTipoDescripción
401JWT inválido, expirado o ausente
403access-deniedEl usuario no es propietario del contribuyente
404contribuyente-not-foundContribuyente no existe
422validation-errornombre ausente o supera los 100 caracteres

Ejemplos

curl -X POST https://api.sifende.com.py/api/v1/contribuyentes/42/api-keys \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "nombre": "Integración ERP Producción",
    "expiraEn": "2027-01-01T00:00:00"
  }'
const res = await fetch(
  `https://api.sifende.com.py/api/v1/contribuyentes/${contribuyenteId}/api-keys`,
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${jwt}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      nombre: 'Integración ERP Producción',
      expiraEn: '2027-01-01T00:00:00',
    }),
  }
);

const { payload } = await res.json();
// ¡Guardá payload.key inmediatamente! No se va a mostrar de nuevo.
console.log('API Key:', payload.key);

On this page