Ir al contenido
Emisores

FISCALISTO / API / REFERENCIA

Firmar el contrato con el PAC

POST
/v1/issuers/{id}/efirma

Una sola vez por RFC antes de timbrar en producción: firma el contrato de servicio del PAC (Finkok) con la e.firma del emisor. La e.firma se usa en memoria para esa firma y no se guarda, salvo que mande keep_for_downloads: true para pedirle al SAT las facturas del emisor (POST /v1/sat_downloads); entonces se guarda cifrada y puede borrarla con DELETE.

Autorización

bearerAuth
headerAutorizaciónBearer <llave>

Su llave secreta: fk_test_… en pruebas, fk_live_… en producción. Desarrolladores › Llaves.

Parámetros de la ruta

id*string

El id del objeto.

Encabezados

Idempotency-Key?string

Opcional (los SDK la mandan solos). Si la respuesta se pierde, repita la solicitud con el mismo valor durante 24 horas: contesta lo mismo, con idempotent-replayed: true, y no lo hace dos veces (ni crea, ni manda correos, ni cobra).

Longitud1 <= length <= 255

Cuerpo de la solicitud

application/json
  1. body
cer*string

El archivo .cer en base64 (puede traer el prefijo data:).

Longitud1 <= length <= 87386
key*string

El archivo .key en base64 (puede traer el prefijo data:).

Longitud1 <= length <= 87386
password*string

La contraseña de la llave privada (.key). Se usa para abrirla y no se guarda en texto.

Longitud1 <= length <= 256
keep_for_downloads?boolean

true para guardarla (cifrada) y poder pedir al SAT las facturas del emisor con POST /v1/sat_downloads. Sin esto solo firma el contrato con el PAC y no se guarda.

Cuerpo de la respuesta

Correcto.

application/json
  1. response

Un emisor: un RFC que timbra desde su cuenta API.

id*string

Identificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_).

livemode*boolean

true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT.

object*string

Qué tipo de objeto es («invoice», «customer»…).

tax_id*string

RFC (Rfc), 12 caracteres una persona moral y 13 una física.

legal_name*|

Nombre o razón social tal como está en la constancia de situación fiscal, sin el régimen de capital (sin «S.A. de C.V.»).

tax_system*|

Régimen fiscal (RegimenFiscal), clave de c_RegimenFiscal: 601, 612, 626…

zip*|

Código postal del domicilio fiscal, 5 dígitos, como en la constancia de situación fiscal. El de un emisor es el lugar de expedición (LugarExpedicion) de sus comprobantes.

status*string

active: puede timbrar. needs_certificate: falta su CSD. needs_efirma: falta firmar una vez el contrato con el PAC con su e.firma (solo en producción). certificate_expired: su CSD venció. archived: archivado.

Uno de"active""needs_certificate""certificate_expired""needs_efirma""archived"
requirement*|

Qué le falta al emisor para timbrar, y cómo dárselo.

certificate*|

El sello digital (CSD) cargado: número de serie y vencimiento.

sat_downloads*

Si puede pedirle al SAT sus facturas (POST /v1/sat_downloads): available es true en pruebas, y en producción mientras su e.firma guardada esté vigente (efirma_expires_at).

employer_registration*|

Registro patronal ante el IMSS (RegistroPatronal), 11 caracteres. Necesario para timbrar nómina.

curp*|

CURP, 18 caracteres.

stamps_as*string

RFC con el que se timbra: el del emisor en producción y el de pruebas del SAT (EKU9003173C9) en pruebas.

sandbox*|

El entorno de prueba (sbx_…) al que pertenece, o null si es de la cuenta. Vea /v1/sandboxes.

test_clock*|

Su reloj de prueba (solo emisores de prueba): la hora que es «hoy» para él, o null si va con la hora real. Vea POST /v1/issuers/{id}/test_clock.

created_at*|

Cuándo se creó, ISO 8601 con la hora de la Ciudad de México (-06:00).

archived_at*|

Cuándo se archivó (ya no timbra), o null.

metadata*

Sus propios datos: hasta 50 llaves de 40 caracteres con valores de texto de hasta 500. No van al CFDI; vuelven en el objeto y en los webhooks.

curl -X POST 'https://api.fiscalisto.com/v1/issuers/string/efirma' \  -H 'Authorization: Bearer fk_test_…' \  -H 'Idempotency-Key: 8f14e45f-ceea-467a-9575-6a1b0e5f3c21' \  -H 'Content-Type: application/json' \  -d '{  "cer": "MIIF+TCCA+GgAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0MTY=",  "key": "MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI",  "password": "12345678a",  "keep_for_downloads": true}'
{  "id": "iss_OufpKqnrvx9p",  "object": "issuer",  "livemode": false,  "tax_id": "TOL190312KT4",  "legal_name": "TOLPI",  "tax_system": "601",  "zip": "64000",  "status": "active",  "requirement": null,  "certificate": {    "serial_number": "30001000000500003416",    "expires_at": "2027-05-18T05:43:51-06:00"  },  "sat_downloads": {    "available": true,    "efirma_expires_at": null  },  "employer_registration": null,  "curp": null,  "stamps_as": "EKU9003173C9",  "sandbox": null,  "test_clock": null,  "created_at": "2026-10-24T10:15:42-06:00",  "archived_at": null,  "metadata": {    "cliente": "42"  }}