#Documentos

El document library es el repositorio de archivos oficiales de una Fiscal Entity que Clarisfy descarga del SAT, versiona y almacena: Constancia de Situación Fiscal (CSF), Opinión de Cumplimiento (32-D), declaraciones, llaves públicas de e.firma, entre otros. Estos endpoints permiten listar, descargar el archivo, ver su trazabilidad y gestionarlo. Cuelgan de https://api.clarisfy.com/api/v1/document-library.

#El objeto Document

CampoTipoDescripción
idstringIdentificador del documento (doc_…).
fiscal_entity_idstringLa FiscalEntity (RFC) dueña (fe_…).
kindstringTipo: csf, opinion_32d, declaracion_anual, declaracion_mensual, efirma_public_keys, certificates, miinformacion, indicators, other.
filenamestringNombre del archivo (p. ej. constancia.pdf).
mime_typestringTipo MIME (p. ej. application/pdf).
size_bytesintegerTamaño en bytes.
sha256stringSHA-256 del archivo (hex).
is_currentbooleantrue si es la versión vigente de ese tipo.
period_yearinteger | nullAño fiscal (tipos por periodo, p. ej. declaraciones).
period_monthinteger | nullMes fiscal (declaración mensual).
metadataobjectMetadata libre (editable por admin).
created_atstringAlta del documento (ISO 8601).
created_bystring | nullQuién lo creó (usr_…), o null si lo ingirió el sistema.
deleted_atstring | nullFecha de soft-delete, o null.

#Lista de documentos del RFC

GET/document-library

Documentos del RFC, más recientes primero, con paginación por cursor.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la FiscalEntity (fe_…).
kindstringFiltra por tipo de documento.
pageSizeintegerTamaño de página (1–200, por defecto 50).
cursorstringdoc_… de la última fila de la página previa (paginación).
includeDeletedbooleanIncluye documentos eliminados (soft-deleted).
cURL
curl "https://api.clarisfy.com/api/v1/document-library?fiscalEntityId=fe_9a1c2b3d4e5f6071&pageSize=50" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
{
  "items": [
    {
      "id": "doc_01j9z3n8q7f2v6m4k1c0abcdef",
      "fiscal_entity_id": "fe_9a1c2b3d4e5f6071",
      "kind": "csf",
      "filename": "constancia.pdf",
      "mime_type": "application/pdf",
      "size_bytes": 48213,
      "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
      "is_current": true,
      "period_year": null,
      "period_month": null,
      "metadata": {},
      "created_at": "2026-07-10T18:30:00+00:00",
      "created_by": null,
      "deleted_at": null
    }
  ],
  "next_cursor": null
}

next_cursor trae el cursor de la siguiente página, o null si no hay más.

#Descarga el archivo

GET/document-library/{document_id}/content

Devuelve el binario del documento (Content-Disposition: attachment). Cada descarga registra una entrada de auditoría read (ver trazabilidad).

cURL
curl https://api.clarisfy.com/api/v1/document-library/doc_01j9z3n8q7f2v6m4k1c0abcdef/content \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe" \
  -o constancia.pdf

El Content-Type es el mime_type del documento. 404 si el documento no existe o pertenece a otra organización.

#Trazabilidad de un documento

GET/document-library/{document_id}/audit

Historial de acciones sobre el documento (lecturas, cambios de metadata, …), recientes primero.

Parámetro (query)TipoDescripción
limitintegerMáx. entradas (1–500, por defecto 100).
cURL
curl https://api.clarisfy.com/api/v1/document-library/doc_01j9z3n8q7f2v6m4k1c0abcdef/audit \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
[
  {
    "id": "a1b2c3d4-...",
    "action": "read",
    "actor": "usr_01j9z3n8q7f2v6m4k1c0abcdef",
    "request_id": null,
    "payload": { "filename": "constancia.pdf", "size_bytes": 48213 },
    "created_at": "2026-07-10T18:35:00+00:00"
  }
]

#Actualiza la metadata

PATCH/document-library/{document_id}

Reemplaza por completo el objeto metadata del documento. Devuelve el documento actualizado.

cURL
curl -X PATCH https://api.clarisfy.com/api/v1/document-library/doc_01j9z3n8q7f2v6m4k1c0abcdef \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe" \
  -H "Content-Type: application/json" \
  -d '{"metadata": {"reviewed": true, "note": "vigente al cierre"}}'

#Solicita una descarga del SAT (actualizar)

POST/fiscal-entities/{fiscal_entity_id}/documents/{document_type}/download

Dispara que Clarisfy vuelva a descargar un documento directo del SAT y lo deposite en el document library. Es asíncrono: responde 202 con un correlation_id; el archivo aparece en la lista cuando termina.

Parámetro (ruta)TipoDescripción
fiscal_entity_idstringIdentificador de la FiscalEntity (fe_…).
document_typestringUno de: csf, opinion_32d, declaracion_anual, declaracion_mensual, efirma_public_keys, miinformacion, certificates.
cURL
curl -X POST https://api.clarisfy.com/api/v1/fiscal-entities/fe_9a1c2b3d4e5f6071/documents/csf/download \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
{
  "status": "queued",
  "document_type": "csf",
  "correlation_id": "7c3f6a2e-3b1a-4c9e-9d2f-8a1b2c3d4e5f"
}

#Errores

Código HTTPCausa
400fiscal_entity_id con formato inválido.
404Tu organización no tiene una conexión activa a esa Fiscal Entity.
409El RFC no tiene CIEC almacenada (conexión draft / nunca validada) y el tipo la requiere.
422document_type no es uno de los valores permitidos.
429Solo miinformacion: ya se actualizó hoy (una vez por RFC por día). Incluye Retry-After.