GET /invoices/{id}
Summary
Get invoice
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Invoice id or nanoid |
Query Parameters
- None
Request Body Fields
No request body is accepted for this endpoint.
Request Example
- cURL
- JavaScript
- Python
- Go
curl -X GET 'https://api.requidex.com/api/open/v1/invoices/{id}' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'
const response = await fetch("https://api.requidex.com/api/open/v1/invoices/{id}", {
method: "GET",
headers: {
Authorization: "Bearer <API_KEY>",
Accept: "application/json",
},
});
const json = await response.json();
import requests
response = requests.request(
'GET',
'https://api.requidex.com/api/open/v1/invoices/{id}',
headers={
'Authorization': 'Bearer <API_KEY>',
'Accept': 'application/json',
},
timeout=30,
)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.requidex.com/api/open/v1/invoices/{id}", nil)
req.Header.Set("Authorization", "Bearer <API_KEY>")
req.Header.Set("Accept", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
payload, _ := io.ReadAll(resp.Body)
fmt.Println(string(payload))
}
Response Fields
| Field | Type | Description |
|---|---|---|
| id | string | Invoice id |
| reference | string | Invoice reference |
| status | string | Invoice status |
| company | object | Show child attributes
|
| agency | object | Show child attributes
|
| msp | object | Returned when present. Show child attributes
|
| projects | array | Project references with id and name |
| invoiceType | string | Invoice flow type |
| mspInvoiceType | string | MSP invoice subtype when applicable |
| weekEnding | string | Week ending date in ISO 8601 date-time format |
| due | string | Invoice due date in ISO 8601 date-time format |
| confirmedDate | string | Timestamp when the invoice was marked confirmed/paid |
| confirmedBy | object | Returned when present. Show child attributes
|
| payment | object | Returned when present. Show child attributes
|
| values | object | Show child attributes
|
| files | object | File URLs. Child attributes: invoice, timesheetSnapshot |
| timesheets | array | Linked timesheets with id and reference |
| createdAt | string | Creation timestamp |
| updatedAt | string | Last update timestamp |
Response Example (200)
{
"success": true,
"data": {
"id": "67bc36db80a1616ec3f4b001",
"reference": "RDX-NLD-I1044",
"status": "confirmed",
"company": {
"id": "67bc36db80a1616ec3f47001",
"name": "Requidex Construction Ltd"
},
"agency": {
"id": "67bc36db80a1616ec3f47101",
"name": "Northline Labour Desk"
},
"projects": [
{
"id": "67bc36db80a1616ec3f47011",
"name": "Northern Rail Electrification"
}
],
"invoiceType": "supplierToClient",
"mspInvoiceType": null,
"weekEnding": "2026-03-08T00:00:00.000Z",
"due": "2026-04-07T00:00:00.000Z",
"confirmedDate": "2026-03-25T12:00:00.000Z",
"confirmedBy": {
"id": "67bc36db80a1616ec3f47099",
"name": "Pat Taylor"
},
"payment": {
"reference": "PAY-2044",
"paymentDate": "2026-03-25T12:00:00.000Z"
},
"values": {
"grossHours": 40,
"netHours": 37.5,
"subtotal": 1125,
"vat": 225,
"total": 1350,
"cis": 0,
"finalTotal": 1350,
"expenses": 125,
"creditNotes": 0,
"netValue": 1475
},
"files": {
"invoice": "https://files.requidex.com/invoices/INV-1044.pdf",
"timesheetSnapshot": "https://files.requidex.com/invoices/INV-1044-timesheets.pdf"
},
"timesheets": [
{
"id": "67bc36db80a1616ec3f4a001",
"reference": "TS-1044"
}
],
"createdAt": "2026-03-08T18:00:00.000Z",
"updatedAt": "2026-03-25T12:00:00.000Z"
}
}
Errors
| HTTP Status | Meaning |
|---|---|
| 401 | Missing, invalid, revoked, or expired API key |
| 403 | Forbidden due to scope or IP restrictions |
| 404 | Invoice not found |
| 405 | Method not allowed on Open API routes |
| 429 | Rate limit exceeded |
| 500 | Unexpected internal error |