Skip to main content
Version: 1.0.0

Archive Status


Check the archive state of invoices without touching the invoice list query, and see how many of the company's documents fall outside the archive's scope entirely.

Batch invoice archive status​

Look up the archive status of up to 500 invoices in one call — built for populating "Archive" / "Retention until" columns in an invoice list.

Endpoint​

PropertyValue
URLPOST /germany/archive/{companyId}/status
MethodPOST
AuthR-Auth: <company-jwt>
Content-Typeapplication/json
Base URLStage Environment https://api-stage.docnova.ai/
Production Environment https://api.docnova.ai/

Example Request​

curl --location '{{baseUrl}}/germany/archive/{{companyId}}/status' \
--header 'Content-Type: application/json' \
--header 'R-Auth: {{companyJwt}}' \
--data-raw '[
"f5e6d7c8-1234-5678-9abc-def012345678",
"a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
]'

Path parameters​

ParameterTypeRequiredDescription
companyIdUUIDYesCompany UUID

Request body​

A plain JSON array of invoice UUIDs, up to 500 entries.

[
"f5e6d7c8-1234-5678-9abc-def012345678",
"a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
]

Response​

[
{
"invoiceId": "f5e6d7c8-1234-5678-9abc-def012345678",
"status": "ARCHIVED",
"retentionUntil": "2034-12-31T23:59:59",
"legalHold": false
},
{
"invoiceId": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"status": null,
"retentionUntil": null,
"legalHold": false
}
]

Response fields​

FieldDescription
invoiceIdInvoice UUID
statusARCHIVED only when every archive row of the invoice is archived; otherwise the least advanced row's status (see Status values). null when the invoice has no archive row yet
retentionUntilLatest retention end across the invoice's archive rows, null when the invoice has no archive row
legalHoldtrue if any of the invoice's archive rows is under legal hold

An invoice ID whose archive rows are of a direction the caller may not view (for example an INCOMING-only user asking about an OUTGOING invoice) is silently left out of the response rather than returned with an error.

Error responses​

HTTPerrorTypeMeaning
400INVALID_ARGUMENTMore than 500 invoice IDs in the request body
400GERMANY_ARCHIVE_NOT_AVAILABLEThe company is not archived under the German GoBD rules
403AUTHORIZATION_FAILEDCaller has no view rights for either invoice direction
403GERMANY_AUDITOR_ACCESS_EXPIREDCaller's time-limited auditor access (Z1) has ended

Out-of-scope document count​

Count the company's documents that are not archived because they are not e-invoice originals — OCR-read documents, images, plain PDFs, and ZUGFeRD MINIMUM / BASIC WL profiles are outside the GoBD e-invoice archive by design.

Endpoint​

PropertyValue
URLGET /germany/archive/{companyId}/out-of-scope/count
MethodGET
AuthR-Auth: <company-jwt>
Base URLStage Environment https://api-stage.docnova.ai/
Production Environment https://api.docnova.ai/

Example Request​

curl --location '{{baseUrl}}/germany/archive/{{companyId}}/out-of-scope/count' \
--header 'R-Auth: {{companyJwt}}'

Path parameters​

ParameterTypeRequiredDescription
companyIdUUIDYesCompany UUID

Response​

42

A plain integer: the number of the company's documents excluded from the GoBD archive.

Error responses​

HTTPerrorTypeMeaning
400GERMANY_ARCHIVE_NOT_AVAILABLEThe company is not archived under the German GoBD rules
403GERMANY_AUDITOR_ACCESS_EXPIREDCaller's time-limited auditor access (Z1) has ended