Factuarea APIDevelopers

Registrar una representación

Registra la representación que permite a Factuarea remitir tus registros VeriFactu a la AEAT con su propio certificado.

  • Envía multipart/form-data con kind (social_collaboration_annex_i o aeat_power_of_attorney), signer_name, signer_tax_id, granted_on y la evidencia: el anexo I firmado como document (PDF, hasta 5 MB, validado por magic bytes) para la colaboración social, y el justificante del apoderamiento como document o su referencia en power_of_attorney_reference para un apoderamiento.
  • El documento se custodia cifrado y cuenta para tu cuota de almacenamiento (402 storage_quota_exceeded).
  • Si ya había una representación vigente, se revoca y se conserva en el historial, y la nueva pasa a ser la vigente.
  • El opcional valid_until fija el último día de vigencia (no antes de granted_on, como máximo 5 años después); sin él, la representación no caduca, y una vez pasado ese día deja de habilitar la remisión por tercero (se te avisa 30 y 7 días antes y al caducar).
  • Si tu empresa ya remite por un modo de tercero, registrar una representación del OTRO tipo mueve el modo al que ese tipo pide (anexo I → social_collaborator, apoderamiento → power_of_attorney), o de vuelta a own_certificate cuando ese modo no se puede usar, porque esta instancia no ofrece el colaborador social o la nueva representación ya está caducada, y se reactivan los registros que estaban bloqueados esperándola.
  • Con own_certificate no cambia nada: cambia de modo explícitamente con PUT /v1/verifactu/settings, que exige esta representación.
  • Devuelve 201 con data (la nueva representación) y remission_mode, el modo de remisión resultante, más una cabecera Location; una carga inválida devuelve 422 (param nombra el campo; la evidencia ausente o que no es un PDF válido es business_rule_violation / invalid_representation).
POST
/verifactu/representation
AuthorizationBearer <token>

En: header

Headers

Idempotency-Key*string

Clave opaca generada por el cliente (hasta 255 caracteres; se recomienda UUID v7) que permite reintentos seguros: la primera respuesta se almacena y se reproduce en las repeticiones sin volver a ejecutar la mutación. Reutilizar una clave con un cuerpo distinto devuelve 409 idempotency_key_reused. Consulta la guía de idempotencia. Obligatoria en esta operación: repetirla produce un efecto irreversible (un email enviado, un archivo generado, una llamada a un tercero o un cargo), por lo que una petición sin esta cabecera se rechaza con 422 idempotency_key_required antes de ejecutar lógica de negocio.

Longitud1 <= length <= 255
Factuarea-Version?string

Fija la versión de la API (YYYY-MM-DD, versionado por fecha estilo Stripe) para esta petición; omítelo para usar la versión fijada de la clave, o la última si no hay ninguna. Versión no soportada → 400 unsupported_api_version; malformada → 400 parameter_invalid_format. La versión efectiva se refleja en la cabecera de respuesta Factuarea-Version. Consulta la guía de Versioning.

Formatodate
X-Active-Profile?string

Opera en nombre de una empresa hija (API key maestra de gestoría): pasa su id público (UUID v7) y la petición se ejecuta contra los datos de esa hija sin cambiar el scope, el tier ni el environment de la clave (omítelo para usar la propia empresa de la clave). UUID inválido → 400 parameter_invalid_uuid; id desconocido o no propio → 404 profile_not_found. Consulta la guía de Acting on behalf.

Formatouuid

Cuerpo de la petición

multipart/form-data

Definiciones de TypeScript

Usa el tipo request body en TypeScript.

Cuerpo de la respuesta

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json