LogoLogo
  • Qvalia Developer Tools
    • API
    • JSON/XML or JSON to XML
    • Attachments to messages
  • Quick Start
  • API Documentation
    • API's
      • Transaction API
        • Invoice APIs
        • CreditNote APIs
        • Order APIs
        • OrderResponse APIs
        • OrderChange APIs
        • OrderCancellation APIs
        • Catalogue APIs
        • DespatchAdvice APIs
      • Enrichment API
        • Enrichment API
      • Partner API
        • Partner API
      • Account API
        • Account Functions/Invoice Functions
  • Sample Data
    • API Sample Data
      • Invoice
      • CreditNote
      • Order
      • OrderResponse
      • OrderChange
      • OrderCancellation
      • Catalogue
      • DespatchAdvice
  • SFTP Integration
    • SFTP Integration
  • VAN Operator
    • Operators
  • Qvalia
    • Home
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. API Documentation
  2. API's
  3. Enrichment API

Enrichment API

PreviousEnrichment APINextPartner API

Was this helpful?

Get individual enrichment result

get

Get the enrichment result using the polling ID. Returns the result in the format requested.

Authorizations
Path parameters
accountRegNostringRequired

Account registration number issued by Qvalia

Default: ""
pollingIdstringRequired

The unique polling ID for the file

Default: ""
enrichmentTypestring · enumRequired

The enrichment type sent on posting of the document

Default: capturePossible values:
Responses
200
Enrichment complete, result available.
application/json
202
The enrichment process is still in progress. The client should retry after 30 seconds.
application/json
400
Invalid or expired polling ID.
application/json
404
Invalid or expired polling ID.
application/json
429
The client has exceeded the polling frequency limit. The request is rejected, and the client should wait before retrying.
application/json
get
GET /enrichment/{accountRegNo}/{pollingId}/{enrichmentType} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "status": "text",
  "data": {
    "result": {},
    "errors": [],
    "warnings": []
  }
}
  • POSTUpload an Invoice PDF
  • GETPoll for and get enrichment
  • GETGet individual enrichment result

Poll for and get enrichment

get

This endpoint allows clients to check the status of an invoice file’s enrichment process using a polling ID. Since enrichment is an asynchronous operation, this endpoint should be used to monitor progress and retrieve results once processing is complete.

Polling Behavior

  • If the enrichment process is still ongoing, the API will return HTTP 202 (Accepted), indicating that the request was received and is still being processed.

  • Once the enrichment is complete, the API will return HTTP 200 (OK) along with the final result.

  • Clients must limit polling requests to once every 30 seconds. Requests made at a higher frequency may be rate-limited or rejected

Authorizations
Path parameters
accountRegNostringRequired

Account registration number issued by Qvalia

Default: ""
pollingIdstringRequired

The unique polling ID for the file

Default: ""
Responses
200
Enrichment complete, result available.
application/json
202
The enrichment process is still in progress. The client should retry after 30 seconds.
application/json
400
Invalid or expired polling ID.
application/json
404
Invalid or expired polling ID.
application/json
429
The client has exceeded the polling frequency limit. The request is rejected, and the client should wait before retrying.
application/json
get
GET /enrichment/{accountRegNo}/{pollingId} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "status": "text",
  "data": {
    "capture": {
      "result": {
        "Invoice": {}
      },
      "errors": [],
      "warnings": []
    }
  }
}

Upload an Invoice PDF

post

API accepts a single invoice file (PDF or XML) and processes it asynchronously. Returns a polling ID to check the status of enrichment. Send the pollingId to the enrchment GET endpoint to get the status or completed result.

The Enrichment API is billed separately hence require additional permissions to be enabled. Please contact Qvalia support if you require access.

Authorizations
Path parameters
accountRegNostringRequired

Account registration number issued by Qvalia

Default: ""
Body
fileNamestringOptional

Optional name of the file being uploaded, including extension (e.g., invoice.pdf).

Example: invoice.pdf
fileContentstring · byteRequired

The Base64 encoded content of the file.

Example: UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==
enrichmentTypesstringRequired

types of enrichment tasks to perform. Ex; "capture"

Example: capture
Responses
202
File accepted for processing.
application/json
400
Invalid file or request.
application/json
post
POST /enrichment/{accountRegNo}/invoice HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 103

{
  "fileName": "invoice.pdf",
  "fileContent": "UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==",
  "enrichmentTypes": "capture"
}
{
  "status": "text",
  "data": {
    "pollingId": "text"
  }
}