List invoices
List all invoices for your legal entity. Supports pagination and filtering by status, customer, and account.
curl --request GET \
--url https://api.slash.com/invoice \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.slash.com/invoice', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.slash.com/invoice"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.slash.com/invoice"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"items": [
{
"invoice": {
"id": "<string>",
"status": "void",
"collectedAmountCents": 123,
"invoiceDetailsId": "<string>",
"accountId": "<string>",
"invoiceTransactions": [
{
"transactionType": "external",
"transaction": {
"paymentMethod": {
"method": "ach_debit",
"config": {
"passFeeToPayer": true
}
},
"paidAt": "<string>"
}
}
],
"legalEntityContactId": "<string>",
"legalEntityCustomerId": "<string>",
"invoicePaymentMethods": [
{
"method": "ach_debit",
"config": {
"passFeeToPayer": true
}
}
],
"closedAt": "2023-11-07T05:31:56Z",
"invoiceSeriesId": "<string>",
"scheduledSendDate": "2023-11-07T05:31:56Z"
},
"invoiceDetails": {
"id": "<string>",
"issuedAt": "2023-11-07T05:31:56Z",
"dueAt": "2023-11-07T05:31:56Z",
"invoiceTz": "America/New_York",
"currency": "<string>",
"lineItemsAndTotals": {
"lineItems": [
{
"name": "<string>",
"quantity": 123,
"priceCents": 123,
"catalogItemId": "<string>"
}
],
"subtotalCents": 123,
"totalAmountCents": 123,
"discount": {
"type": "percentage",
"percent": 123
},
"tax": {
"type": "percentage",
"percent": 123
}
},
"invoiceNumber": "<string>",
"documentId": "<string>",
"billedTo": {
"name": "<string>",
"email": "<string>",
"address": {
"addressLine": "<string>",
"addressCity": "<string>",
"addressState": "<string>",
"addressZip": "<string>",
"addressLine2": "<string>",
"addressCountry": "<string>"
},
"ccEmails": [
"<string>"
]
},
"version": 2,
"memo": "<string>"
},
"invoiceAccount": {
"id": "<string>",
"name": "<string>",
"slashAccountGroupId": "<string>",
"accountType": "default",
"accountNumber": "<string>",
"routingNumber": "<string>",
"closedAt": "<string>"
}
}
],
"metadata": {
"nextCursor": "<string>",
"count": 123
}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}Authorizations
API key authentication for public API requests.
Keys come in two flavors:
- Legal-entity-scoped keys are pinned to a single legal entity. Minted via the dashboard under a specific entity; every request acts on that entity.
- User-scoped keys are pinned to a user and span every legal
entity that user has access to. Every request made with a
user-scoped key (except
GET /legal-entity, which lists the legal entities the user can access) must include anx-legal-entityheader naming the legal entity the request is operating on. Requests without the header are rejected with400. The authenticated user must have an active permission role on the supplied legal entity, otherwise the request is rejected with403.
Query Parameters
A cursor string to fetch the next page of results
Filter invoices by legal entity ID. Required if authenticating via bearer token with access to multiple legal entities.
Filter invoices by status.
unpaid, paid, paid_partially, overdue, void Filter invoices by contact ID.
Filter invoices by customer ID.
Filter invoices by receiving account ID.
Sort invoices by a field. Default is by status then due date.
issuedAt, dueAt The direction to sort by. Defaults to DESC when sorting by issuedAt or dueAt, ASC otherwise.
ASC, DESC Response
OK
Hide child attributes
Hide child attributes
Top-level invoice model
Hide child attributes
Hide child attributes
void, unpaid, overdue, paid_partially, paid, scheduled - InvoiceTransaction
- InvoiceTransaction
Hide child attributes
Hide child attributes
external Hide child attributes
Hide child attributes
Payment methods for invoice reconciliation (includes Slash-trackable methods plus external-only options like 'other')
Hide child attributes
Hide child attributes
ach_debit - PaymentMethodAchDebit
- PaymentMethodCardPayment
- PaymentMethodCryptoDeposit
- PaymentMethodInboundAchTransfer
- PaymentMethodInboundInternationalWire
- PaymentMethodInboundRtp
- PaymentMethodInboundWireTransfer
Hide child attributes
Hide child attributes
IANA timezone identifier used for interpreting invoice dates
"America/New_York"
Hide child attributes
Hide child attributes
1Hide child attributes
Hide child attributes
Optional provenance stamp indicating this line item was populated from a catalog item. Cleared if the user manually edits the name or price after selection.
A user-defined invoice identifier. Allows uppercase letters (A-Z), numbers (0-9), dashes (-), and underscores (_).
1 - 50^[A-Z0-9-_]+$Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...).
210x >= 11 - 500- Model
- Model
- SlashWalletAccount
Hide child attributes
Hide child attributes
Represent a Subaccount ID in the format of "subaccount_102jifoij01"
^subaccount_[a-z0-9]*default, primary curl --request GET \
--url https://api.slash.com/invoice \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.slash.com/invoice', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.slash.com/invoice"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.slash.com/invoice"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"items": [
{
"invoice": {
"id": "<string>",
"status": "void",
"collectedAmountCents": 123,
"invoiceDetailsId": "<string>",
"accountId": "<string>",
"invoiceTransactions": [
{
"transactionType": "external",
"transaction": {
"paymentMethod": {
"method": "ach_debit",
"config": {
"passFeeToPayer": true
}
},
"paidAt": "<string>"
}
}
],
"legalEntityContactId": "<string>",
"legalEntityCustomerId": "<string>",
"invoicePaymentMethods": [
{
"method": "ach_debit",
"config": {
"passFeeToPayer": true
}
}
],
"closedAt": "2023-11-07T05:31:56Z",
"invoiceSeriesId": "<string>",
"scheduledSendDate": "2023-11-07T05:31:56Z"
},
"invoiceDetails": {
"id": "<string>",
"issuedAt": "2023-11-07T05:31:56Z",
"dueAt": "2023-11-07T05:31:56Z",
"invoiceTz": "America/New_York",
"currency": "<string>",
"lineItemsAndTotals": {
"lineItems": [
{
"name": "<string>",
"quantity": 123,
"priceCents": 123,
"catalogItemId": "<string>"
}
],
"subtotalCents": 123,
"totalAmountCents": 123,
"discount": {
"type": "percentage",
"percent": 123
},
"tax": {
"type": "percentage",
"percent": 123
}
},
"invoiceNumber": "<string>",
"documentId": "<string>",
"billedTo": {
"name": "<string>",
"email": "<string>",
"address": {
"addressLine": "<string>",
"addressCity": "<string>",
"addressState": "<string>",
"addressZip": "<string>",
"addressLine2": "<string>",
"addressCountry": "<string>"
},
"ccEmails": [
"<string>"
]
},
"version": 2,
"memo": "<string>"
},
"invoiceAccount": {
"id": "<string>",
"name": "<string>",
"slashAccountGroupId": "<string>",
"accountType": "default",
"accountNumber": "<string>",
"routingNumber": "<string>",
"closedAt": "<string>"
}
}
],
"metadata": {
"nextCursor": "<string>",
"count": 123
}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}{
"message": "<string>",
"name": "<string>",
"identifier": "<string>",
"rawStatus": 123,
"meta": {}
}