View an invoice from a public link
curl --request GET \
--url https://my.server.express/api/v1/public/invoices/{token}const options = {method: 'GET'};
fetch('https://my.server.express/api/v1/public/invoices/{token}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.server.express/api/v1/public/invoices/{token}"
response = requests.get(url)
print(response.text){
"success": true,
"data": {
"invoiceNumber": "<string>",
"status": "PAID",
"currency": "<string>",
"subtotal": 123,
"taxRate": 123,
"taxLabel": "<string>",
"taxAmount": 123,
"total": 123,
"notes": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"dueDate": "2023-11-07T05:31:56Z",
"paidAt": "2023-11-07T05:31:56Z",
"items": [
{
"description": "<string>",
"quantity": 123,
"unitPrice": 123,
"taxRate": 123,
"total": 123
}
],
"client": {
"name": "<string>",
"email": "[email protected]",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"postcode": "<string>",
"country": "<string>",
"vatNumber": "<string>",
"addressLines": [
"<string>"
]
},
"company": {
"name": "<string>",
"addressLine1": "<string>",
"city": "<string>",
"postcode": "<string>",
"country": "<string>",
"vatNumber": "<string>",
"email": "[email protected]",
"addressLines": [
"<string>"
]
}
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}Public Invoices
View an invoice from a public link
The login-free invoice view. Holding the token is the authorisation; staff mint and revoke it. Shows only what a paper invoice would. Money is in integer minor units of currency. A token shorter than 16 characters, an unknown token and a DRAFT invoice are all 404.
GET
/
v1
/
public
/
invoices
/
{token}
View an invoice from a public link
curl --request GET \
--url https://my.server.express/api/v1/public/invoices/{token}const options = {method: 'GET'};
fetch('https://my.server.express/api/v1/public/invoices/{token}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.server.express/api/v1/public/invoices/{token}"
response = requests.get(url)
print(response.text){
"success": true,
"data": {
"invoiceNumber": "<string>",
"status": "PAID",
"currency": "<string>",
"subtotal": 123,
"taxRate": 123,
"taxLabel": "<string>",
"taxAmount": 123,
"total": 123,
"notes": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"dueDate": "2023-11-07T05:31:56Z",
"paidAt": "2023-11-07T05:31:56Z",
"items": [
{
"description": "<string>",
"quantity": 123,
"unitPrice": 123,
"taxRate": 123,
"total": 123
}
],
"client": {
"name": "<string>",
"email": "[email protected]",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"postcode": "<string>",
"country": "<string>",
"vatNumber": "<string>",
"addressLines": [
"<string>"
]
},
"company": {
"name": "<string>",
"addressLine1": "<string>",
"city": "<string>",
"postcode": "<string>",
"country": "<string>",
"vatNumber": "<string>",
"email": "[email protected]",
"addressLines": [
"<string>"
]
}
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}