billing.invoice.list
curl --request POST \
--url https://platform.trylath.com/billing/invoice/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"limit": 24
}'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({limit: 24})
};
fetch('https://platform.trylath.com/billing/invoice/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://platform.trylath.com/billing/invoice/list"
payload = { "limit": 24 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://platform.trylath.com/billing/invoice/list"
payload := strings.NewReader("{\n \"limit\": 24\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"activityId": "<string>",
"result": {
"accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoices": [
"<unknown>"
]
}
}billing.invoice.list
Lists this account’s invoices, newest period first: what was owed for each calendar month, the priced lines that produced it, and what became of the collection attempt. Statuses are open (owed, not yet attempted), paid, failed (the card refused; it will be retried), uncollectible (out of retries) and void (nothing was owed). The lines are frozen as they were priced, so a later rate change does not restate an old month.
POST
/
billing
/
invoice
/
list
billing.invoice.list
curl --request POST \
--url https://platform.trylath.com/billing/invoice/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"limit": 24
}'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({limit: 24})
};
fetch('https://platform.trylath.com/billing/invoice/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://platform.trylath.com/billing/invoice/list"
payload = { "limit": 24 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://platform.trylath.com/billing/invoice/list"
payload := strings.NewReader("{\n \"limit\": 24\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"activityId": "<string>",
"result": {
"accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoices": [
"<unknown>"
]
}
}Authorizations
A Lath API key: lath_live_sk… or lath_test_sk… on a server, lath_live_pk… or lath_test_pk… in a browser.
Body
application/json
Required range:
1 <= x <= 100Last modified on September 13, 2026
Was this page helpful?

