Durably request immutable PDF representations
Pins canonical and signed-XML sources plus explicit template/renderer versions. Generation is asynchronous and never changes fiscal document state. Admission is limited to factura 01 and boleta 03; a 07 or 08 note obtains its QR and representations from its own accepted or observed submission.
Pins canonical and signed-XML sources plus explicit template/renderer versions. Generation is asynchronous and never changes fiscal document state. Admission is limited to factura 01 and boleta 03; a 07 or 08 note obtains its QR and representations from its own accepted or observed submission.
Authorization
bearerAuth Tenant-bound, scoped and expiring Apifact credential. Migrated legacy credentials are accepted only on deprecated v1 writes and tenant-scoped v2 read, poll and download routes. Each operation names the single scope it requires in x-required-scope; the scope array of the security requirement itself is empty because OpenAPI 3.0 requires it to be for a non-oauth2 scheme.
In: header
Path Parameters
uuidHeader Parameters
1 <= length <= 200Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v2/documents/497f6eca-6276-4993-bfeb-53cbbbba6f08/pdfs" \ -H "Idempotency-Key: b6a2f0e4-1c3d-4a5b-8e7f-9d0c1b2a3e4f" \ -H "Authorization: Bearer apf_v2_tu_credencial" \ -H "Content-Type: application/json" \ -d '{ "schemaVersion": "2.0", "outputs": [ { "kind": "pdf-a4", "templateVersion": "invoice-a4-v2" }, { "kind": "pdf-ticket", "templateVersion": "invoice-ticket-v1" } ] }'{ "schemaVersion": "2.0", "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6", "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969", "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6", "state": "RECEIVED", "status": "PENDING", "replay": true, "representations": [ { "representationId": "a9b73a9c-9bfc-4552-8caa-c8f5de61ac57", "kind": "pdf-a4", "version": 1, "status": "PENDING", "templateVersion": "invoice-a4-v2", "rendererVersion": "browser-run-a4-v1", "mediaType": "application/pdf", "byteSize": 0, "sha256": "string", "readyAt": "2019-08-24T14:15:22Z", "downloadPath": "string" } ]}Durably request document submission POST POST
Creates an idempotent operation and outbox event. Factura, boleta and the restricted 07 and 08 note profiles are admitted only when their independent tenant capabilities are enabled: the capabilities are evaluated when the request arrives, and a request that does not meet them is REFUSED with 409 TENANT_CAPABILITY_DISABLED naming the exact capability column, never accepted and held. A 202 therefore means the submission is queued for the private SUNAT Workflow and will reach a terminal state; it never means the request is waiting for a capability to be turned on. A note profile is pinned per type and not per reason, so a 07 that voids its factura and a 07 that credits part of it are dispatched on identical terms. Successful admission does not imply SUNAT acceptance. An accepted or observed submission of any of these document types produces signed XML, submission ZIP, CDR, QR PNG and the A4 and ticket representations; a note prints its own series-number and amounts and names the document it modifies with its catalog 09/10 reason.
List public artifacts for a tenant-owned document GET GET
Returns safe metadata only. Internal object keys, HTML render inputs and unsigned XML are never exposed.