List Stored Invoices
List STORED-mode invoices scoped to the authenticated parent and approved test/live state. Unknown or repeated query fields are rejected.
Authorization
apiKey The API key generated for your business in Duplo Dashboard. The credential's ipWhitelisted setting is enforced end to end on the customer-facing custom-domain Gateway routes in this public contract. A trusted edge overwrites the configured client-IP header and Gateway carries that verified address over its authenticated internal hop; caller-supplied X-Forwarded-For values are never trusted. An empty IP allowlist permits any source. When an allowlist is configured, a missing, malformed, or nonmatching verified client address is rejected with HTTP 403.
In: header
Query Parameters
11 <= value <= 1000000201 <= value <= 100Optional exact regulator-processing status filter.
"submitted" | "signed" | "approved" | "rejected" | "pending" | "validated"Header Parameters
Optional caller correlation metadata. Gateway creates a new authoritative request ID, returns it in the response X-Request-ID header and Problem Details requestId, and propagates that generated value to its dependencies.
^[A-Za-z0-9][A-Za-z0-9._:-]*$1 <= length <= 128Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/invoices" \ -H "X-Request-ID: erp-run-20260916-0042"{
"data": {
"items": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"gatewaySubBusinessId": "string",
"businessState": "test",
"invoiceNumber": "string",
"systemInvoiceNumber": "string",
"invoiceReferenceNumber": "string",
"invoiceType": "380",
"billingReferences": [
{
"irn": "string",
"issueDate": "2019-08-24"
}
],
"issueDate": "2019-08-24",
"taxPointDate": "2019-08-24",
"documentCurrency": "NGN",
"taxCurrency": "NGN",
"paymentStatus": "pending",
"paymentDate": "2019-08-24",
"customer": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"reference": "string",
"modules": [
"string"
],
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string",
"tin": "string",
"country": "string",
"state": "string",
"city": "string",
"address": "string",
"postcode": "string",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
},
"customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
"supplierData": {
"name": "string",
"email": "user@example.com",
"phoneNumber": "string",
"tin": "string",
"country": "string",
"state": "string",
"city": "string",
"address": "string",
"postcode": "string"
},
"payeeData": {
"name": "string",
"email": "user@example.com",
"phoneNumber": "string",
"tin": "string",
"country": "string",
"state": "string",
"city": "string",
"address": "string",
"postcode": "string"
},
"taxRepresentativeData": {
"name": "string",
"email": "user@example.com",
"phoneNumber": "string",
"tin": "string",
"country": "string",
"state": "string",
"city": "string",
"address": "string",
"postcode": "string"
},
"invoiceLineItems": [
{
"lineNumber": 1,
"description": "string",
"quantity": 0,
"unitPrice": 0,
"unit": "string",
"itemAmount": 0,
"productCategory": "string",
"hsnCode": "string",
"serviceCategory": "string",
"isicCode": "string",
"allowances": [
{
"id": "string",
"kind": "allowance",
"valueType": "fixed",
"value": 0,
"amount": 0,
"description": "string"
}
],
"charges": [
{
"id": "string",
"kind": "allowance",
"valueType": "fixed",
"value": 0,
"amount": 0,
"description": "string"
}
],
"allowanceTotal": 0,
"chargeTotal": 0,
"netAfterAllowance": 0,
"taxes": [
{
"name": "string",
"rate": 0,
"amount": 0
}
],
"taxAmount": 0,
"lineTotalExcludingTax": 0,
"lineTotalIncludingTax": 0
}
],
"discountData": {
"type": "percentage",
"value": 0,
"amount": 0
},
"subtotalAmount": 0,
"taxTotal": 0,
"allowanceTotal": 0,
"chargeTotal": 0,
"totalAmount": 0,
"amountDue": 0,
"status": "draft",
"firsStatus": "submitted",
"firsRejectionReason": "string",
"qrCodeData": "string",
"qrCodeImageUrl": "http://example.com",
"direction": "outbound",
"incomingAction": "pending",
"incomingActionAt": "2019-08-24T14:15:22Z",
"incomingRejectionReason": "string",
"transmissionStatus": "not_sent",
"notes": "string",
"paymentTerms": "string",
"paymentDetails": {
"type": "local",
"accountName": "string",
"accountNumber": "string",
"bankName": "string",
"swiftCode": "string",
"bankAddress": "string",
"routingNumber": "string",
"intermediaryBankName": "string",
"intermediaryBankAddress": "string",
"correspondentSwiftCode": "string",
"correspondentBankName": "string",
"additionalInformation": "string"
},
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
],
"meta": {
"total": 0,
"page": 1,
"limit": 1,
"count": 0,
"previousPage": true,
"nextPage": true,
"pageCount": 0,
"totalRecords": 0
}
},
"statusCode": 200,
"message": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 400,
"detail": "string",
"instance": "http://example.com",
"code": "GW_REQUEST_INVALID_JSON",
"requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
"timestamp": "2019-08-24T14:15:22Z",
"action": {
"code": "string",
"description": "string",
"documentation": "http://example.com"
},
"retry": {
"strategy": "DO_NOT_RETRY",
"sameIdempotencyKey": true,
"afterSeconds": 0
},
"errors": [
{
"location": "header",
"field": "string",
"pointer": "string",
"code": "REQUIRED",
"detail": "string"
}
],
"operationId": "string",
"message": "string",
"statusCode": 0,
"path": "string"
}How is this guide?
Last updated on