ARCA {API}
CUITs y certificados

CSR

Generá un CSR nuevo para un CUIT —para reintentar el alta o para renovar el certificado— o cancelá el pendiente.

El CSR (Certificate Signing Request) es el pedido de certificado que tu cliente pega en ARCA. Lo generamos nosotros junto con una clave privada RSA 2048 que queda guardada cifrada de nuestro lado y nunca viaja: cuando ARCA emite el .crt a partir del CSR, el par queda completo.

Cada CUIT tiene como máximo un CSR pendiente por vez. Las dos operaciones requieren scope read_write y no consumen cuota.

Generar un CSR

POST /api/cuits/{cuit}/{environment}/csr

Sin body.

curl -X POST https://arca.api.com.ar/api/cuits/20123456789/produccion/csr \
  -H "Authorization: Bearer ak_TuSecretoAqui"

Genera un CSR nuevo con el alias y la razón social actuales del CUIT. Si ya había uno pendiente, lo cancela —descartando su clave— y lo reemplaza: un .crt emitido a partir del CSR anterior ya no se va a poder cargar.

Status: 200 · El objeto CUIT con el CSR nuevo en csrPendiente.csrPem.

Lo usás en dos situaciones:

  • El CSR del alta no se generó (estado: "sin_certificado", paso generar_csr). El CUIT pasa a pendiente.
  • Renovar un certificado (paso renovar_certificado). El CUIT pasa a activo_renovando y sigue emitiendo con el certificado actual hasta que cargues el nuevo.
{
  "cuit": "20123456789",
  "environment": "produccion",
  "estado": "activo_renovando",
  "pasosPendientes": ["cargar_certificado"],
  "certificado": { "serialNumber": "5f3a9c1e2b7d4a60", "validTo": "2026-11-10T12:00:00.000Z", "...": "..." },
  "csrPendiente": {
    "csrPem": "-----BEGIN CERTIFICATE REQUEST-----\nMIICuz...\n-----END CERTIFICATE REQUEST-----\n",
    "createdAt": "2026-10-22T14:10:02.884Z"
  },
  "...": "..."
}

Errores

StatusDescripción
401API key ausente, inválida o revocada
403La API key es de solo lectura
404El CUIT no existe en ese entorno, es de otra cuenta o fue dado de baja
409Al CUIT le falta el alias o la razón social (sólo pasa con CUITs dados de alta hace tiempo desde el dashboard). Completalos con PATCH y reintentá

Cancelar el CSR pendiente

DELETE /api/cuits/{cuit}/{environment}/csr
curl -X DELETE https://arca.api.com.ar/api/cuits/20123456789/produccion/csr \
  -H "Authorization: Bearer ak_TuSecretoAqui"

Cancela el CSR pendiente y descarta su clave privada. No toca el certificado activo: si el CUIT estaba renovando, vuelve a vigente (o por_vencer) y sigue emitiendo.

Status: 200 · El objeto CUIT actualizado, con csrPendiente: null.

Errores

StatusDescripción
401API key ausente, inválida o revocada
403La API key es de solo lectura
404El CUIT no existe en ese entorno, o no tiene ningún CSR pendiente

En esta página