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
| Property | Value |
|---|---|
| URL | POST /germany/archive/{companyId}/status |
| Method | POST |
| Auth | R-Auth: <company-jwt> |
| Content-Type | application/json |
| Base URL | Stage 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
| Parameter | Type | Required | Description |
|---|---|---|---|
companyId | UUID | Yes | Company 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
| Field | Description |
|---|---|
invoiceId | Invoice UUID |
status | ARCHIVED 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 |
retentionUntil | Latest retention end across the invoice's archive rows, null when the invoice has no archive row |
legalHold | true 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
| HTTP | errorType | Meaning |
|---|---|---|
400 | INVALID_ARGUMENT | More than 500 invoice IDs in the request body |
400 | GERMANY_ARCHIVE_NOT_AVAILABLE | The company is not archived under the German GoBD rules |
403 | AUTHORIZATION_FAILED | Caller has no view rights for either invoice direction |
403 | GERMANY_AUDITOR_ACCESS_EXPIRED | Caller'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
| Property | Value |
|---|---|
| URL | GET /germany/archive/{companyId}/out-of-scope/count |
| Method | GET |
| Auth | R-Auth: <company-jwt> |
| Base URL | Stage 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
| Parameter | Type | Required | Description |
|---|---|---|---|
companyId | UUID | Yes | Company UUID |
Response
42
A plain integer: the number of the company's documents excluded from the GoBD archive.
Error responses
| HTTP | errorType | Meaning |
|---|---|---|
400 | GERMANY_ARCHIVE_NOT_AVAILABLE | The company is not archived under the German GoBD rules |
403 | GERMANY_AUDITOR_ACCESS_EXPIRED | Caller's time-limited auditor access (Z1) has ended |