Skip to content

Run full reference validation for one invoice now (ANALYST+)

POST
/invoices/{invoiceId}/reference-validation
curl --request POST \
--url https://api.invogi.com/v1/invoices/example/reference-validation \
--header 'Authorization: Bearer <token>'

Validates the structured source (XML, or a PDF with embedded invoice XML) against the official rules, whatever the organization’s reference_validation_mode. Peppol BIS and plain UBL/CII require an active Invoice Firewall subscription. The result is appended as a new analysis run whose decision is the stricter of the current decision and the validation findings. Repeating the same pinned validation against the immutable source reuses the current run instead of duplicating its findings and risk contribution.

invoiceId
required
string

Validation recorded as a new analysis run

Media typeapplication/json
object
analysis_run_id
required
string format: uuid
format
required

Detected structured format

string
valid
required
boolean
compliance_version
required

Validator and pinned artifact version recorded on the analysis run

string
decision
required
string
Allowed values: PASS REVIEW BLOCK
risk_score
required
integer
<= 100
new_findings
required
integer

Example

{
"decision": "PASS"
}

Missing or invalid API key

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}

API key lacks required scope/role

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}

Resource not found

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}

Conflicting idempotency key or resource processing state

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}