curl --request GET \
--url https://api.interchange.io/api/v2/billing/fee-invoices/{invoiceNumber} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/billing/fee-invoices/{invoiceNumber}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/billing/fee-invoices/{invoiceNumber}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"invoiceNumber": 0,
"invoiceRef": "FEE-000042",
"cycleKey": "2026-07",
"cycleStart": "2023-11-07T05:31:56Z",
"cycleEnd": "2023-11-07T05:31:56Z",
"currency": "USD",
"totalMinor": 0,
"paymentTerms": "net_15",
"issuedAt": "2023-11-07T05:31:56Z",
"dueAt": "2023-11-07T05:31:56Z",
"paidAt": "2023-11-07T05:31:56Z",
"lines": [
{
"lineKind": "commitment",
"description": "<string>",
"quantity": 123,
"unitRateMinor": 0,
"amountMinor": 0,
"createdAt": "2023-11-07T05:31:56Z"
}
]
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Get fee invoice
One fee invoice with its line items (plan commitment, overage with IU quantity and rate, payments applied). Scoped to the caller’s org — another org’s invoice number is a 404.
curl --request GET \
--url https://api.interchange.io/api/v2/billing/fee-invoices/{invoiceNumber} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/billing/fee-invoices/{invoiceNumber}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/billing/fee-invoices/{invoiceNumber}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"invoiceNumber": 0,
"invoiceRef": "FEE-000042",
"cycleKey": "2026-07",
"cycleStart": "2023-11-07T05:31:56Z",
"cycleEnd": "2023-11-07T05:31:56Z",
"currency": "USD",
"totalMinor": 0,
"paymentTerms": "net_15",
"issuedAt": "2023-11-07T05:31:56Z",
"dueAt": "2023-11-07T05:31:56Z",
"paidAt": "2023-11-07T05:31:56Z",
"lines": [
{
"lineKind": "commitment",
"description": "<string>",
"quantity": 123,
"unitRateMinor": 0,
"amountMinor": 0,
"createdAt": "2023-11-07T05:31:56Z"
}
]
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Path Parameters
The invoice number to fetch
0 < x <= 9007199254740991Query Parameters
Direct child customer to read or update from an authorized parent billing organization
^[1-9][0-9]*$Response
Get fee invoice
One fee invoice with its line items.
Gapless sequential invoice number (platform-wide series)
-9007199254740991 <= x <= 9007199254740991Display reference for the invoice (e.g. "FEE-000042")
"FEE-000042"
The billing cycle the invoice covers (e.g. "2026-07")
"2026-07"
Cycle start (ISO 8601, UTC calendar month)
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Cycle end, exclusive (ISO 8601)
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ISO 4217 currency code
3^[A-Z]{3}$"USD"
Outstanding balance in minor units: amounts owed minus payments applied. 0 once fully settled.
-9007199254740991 <= x <= 9007199254740991Effective account payment terms frozen at issuance
net_15, net_30, net_45, net_60, net_90 When the invoice was issued (ISO 8601)
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$When payment is due under the frozen account terms
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$When the balance reached zero (ISO 8601), or null while any amount is outstanding
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Invoice line items in write order. commitment/overage lines are frozen at issuance; payment_applied lines may be appended as charges settle.
Show child attributes
Show child attributes