Everything the platform produced for one comprobante
Authorization
consoleSession Set by POST /console/v1/sessions. HttpOnly, Secure, SameSite=Strict, Path=/, __Host- prefixed. It is never readable by JavaScript and there is no header alternative: accepting both carriers would let an attacker choose the weaker one.
In: cookie
Path Parameters
uuiduuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/console/v1/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/documents/497f6eca-6276-4993-bfeb-53cbbbba6f08/artifacts" \ -H "Authorization: Bearer apf_v2_tu_credencial"{ "schemaVersion": "console.1", "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6", "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052", "artifacts": [ { "kind": "string", "storageKind": "string", "representationId": "a9b73a9c-9bfc-4552-8caa-c8f5de61ac57", "version": 0, "status": "PENDING", "mediaType": "string", "byteSize": 0, "sha256": "string", "templateVersion": "string", "rendererVersion": "string", "errorCode": "string", "readyAt": "2019-08-24T14:15:22Z", "downloadPath": "string" } ]}One comprobante, with the SUNAT verdict and what it means GET GET
The response code and description are verbatim from the CDR. The severity/standing/action/guidance block is derived from the catalog in @apifact/sunat at read time and is not stored, so it cannot drift; catalogVersion, by contrast, reports the version recorded on the attempt, because claiming yesterday's rejection was judged by today's catalog would forge the audit trail.
Stream one artifact GET GET
The bytes come from apps/artifact-worker, which re-verifies the SHA-256 and the byte size of what it reads before any of it reaches the caller. The object key never leaves the server. Use versions/{representationId} as the kind to fetch a specific PDF render.