List invoices
curl --request GET \
--url https://api.assembly.com/v1/invoices \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.assembly.com/v1/invoices"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.assembly.com/v1/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.assembly.com/v1/invoices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.assembly.com/v1/invoices"
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))
}HttpResponse<String> response = Unirest.get("https://api.assembly.com/v1/invoices")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.assembly.com/v1/invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"address": {
"addressLine1": "548 Market St",
"addressLine2": "Suite 100",
"city": "San Francisco",
"country": "United States",
"fullAddress": "548 Market St, San Francisco, CA 94105",
"postalCode": "94105",
"region": "California"
},
"amountPaid": 123,
"attachmentKeys": [
"<string>"
],
"attachmentUrls": [
"<string>"
],
"billingReason": "manual",
"clientId": "client_a1b2c3d4e5f6",
"collectionMethod": "sendInvoice",
"companyId": "company_a1b2c3d4e5f6",
"createdAt": "<string>",
"creatorId": "<string>",
"currency": "usd",
"data": "<string>",
"daysUntilDue": 14,
"dueDate": "2024-03-01T00:00:00Z",
"entityType": "<string>",
"fileKey": "<string>",
"fileUrl": "<string>",
"id": "<string>",
"identityId": "<string>",
"interval": "<string>",
"latestRefundStatus": "succeeded",
"lineItems": [
{
"amount": 5000,
"description": "Onboarding setup fee",
"id": "<string>",
"priceId": "price_1a2b3c",
"priceInterval": "month",
"productId": "prod_1a2b3c",
"quantity": 2,
"type": "<string>"
}
],
"memo": "Thanks for your business",
"number": "INV-0001",
"object": "<string>",
"origin": "internal",
"paidManually": true,
"payment": [
{
"amount": 10000,
"brand": "Visa",
"chargedAt": "2024-02-20T14:05:00Z",
"createdAt": "<string>",
"creatorId": "<string>",
"data": "<string>",
"declineCode": "insufficientFunds",
"entityType": "PAYMENT",
"fee": {
"absorbedAmount": 0,
"chargedAmount": 150,
"isFeeAbsorbed": false,
"items": [
{
"amount": 150,
"type": "ccPercentage"
}
],
"totalAmount": 150
},
"feeAmount": {
"paidByClient": 150,
"paidByPlatform": 0
},
"id": "<string>",
"identityId": "<string>",
"intentId": "pi_3OabcdEFghIJklmn",
"invoiceId": "550e8400-e29b-41d4-a716-446655440000",
"last4Digits": "4242",
"message": "The card has insufficient funds to complete the purchase.",
"object": "<string>",
"paymentMethod": "creditCard",
"portalId": "a1b2c3d4",
"previousAttributes": {},
"ref": "<string>",
"status": "succeeded",
"stripeChargeId": "ch_3OabcdEFghIJklmn",
"updatedAt": "<string>"
}
],
"paymentMethodPreferences": [
{
"feePaidByClient": true,
"type": "creditCard"
}
],
"paymentPreferences": {
"absorbTransactionFee": [],
"paymentMethodTypes": []
},
"paymentSourceId": "<string>",
"paymentSuccessDate": "2024-02-20T14:05:00Z",
"portalId": "<string>",
"previousAttributes": {},
"quickBooksData": {
"invoiceId": "<string>",
"paymentId": "<string>"
},
"receiptKey": "<string>",
"receiptNumber": "REC-0001",
"receiptUrl": "<string>",
"recipientId": "client_a1b2c3d4e5f6",
"ref": "<string>",
"sentDate": "2024-02-15T09:00:00Z",
"sourcePaymentLinkId": "plink_a1b2c3d4e5f6",
"status": "open",
"subscription": {
"additionalFields": {},
"cancelledAt": "2024-02-20T14:05:00Z",
"clientId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"collectionMethod": "sendInvoice",
"companyId": "f0e1d2c3-b4a5-6789-0123-456789abcdef",
"createdAt": "<string>",
"creatorId": "<string>",
"currency": "usd",
"data": "<string>",
"daysUntilDue": 30,
"fields": {
"absorbTransactionFees": true,
"address": {
"addressLine1": "548 Market St",
"addressLine2": "Suite 100",
"city": "San Francisco",
"country": "United States",
"fullAddress": "548 Market St, San Francisco, CA 94105",
"postalCode": "94105",
"region": "California"
},
"allowPaymentViaACH": true,
"allowPaymentViaCC": true,
"attachment": "<string>",
"cancelledAt": "<string>",
"clientUserId": "<string>",
"collectionMethod": "<string>",
"companyId": "<string>",
"currency": "<string>",
"daysUntilDue": 123,
"forcePaused": true,
"interval": "<string>",
"lineItems": [
{
"description": "<string>",
"id": "<string>",
"priceId": "<string>",
"productId": "<string>",
"quantity": 123,
"rate": 123
}
],
"memo": "<string>",
"paymentPreferences": {
"absorbTransactionFee": [],
"paymentMethodTypes": []
},
"prorate": true,
"purchaseFields": {},
"reactivatedBy": "<string>",
"resetBillingCycle": true,
"scheduleEndDate": 123,
"scheduleIterations": 123,
"scheduleStartDate": 123,
"taxPercentage": 123
},
"filteredListIndexPkey": "<string>",
"forcePaused": false,
"id": "<string>",
"identityId": "<string>",
"interval": "monthly",
"intervalCount": 1,
"lineItems": [
{
"amount": 5000,
"description": "Onboarding setup fee",
"id": "<string>",
"priceId": "price_1a2b3c",
"priceInterval": "month",
"productId": "prod_1a2b3c",
"quantity": 2,
"type": "<string>"
}
],
"memo": "Monthly retainer",
"object": "<string>",
"paymentMethodPreferences": [
{
"feePaidByClient": true,
"type": "creditCard"
}
],
"paymentSourceId": "card_1a2b3c",
"previousAttributes": {},
"recipientId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"ref": "<string>",
"status": "active",
"taxPercentage": 8.25,
"templateId": "a7c3e9f1-2b4d-4e6a-8c0f-1d2e3f4a5b6c",
"updatedAt": "<string>"
},
"subscriptionId": "sub_a1b2c3d4e5f6",
"taxAmount": 1275,
"taxPercentage": 8.5,
"templateId": "itmpl_a1b2c3d4e5f6",
"total": 15000,
"updatedAt": "<string>"
}
],
"nextToken": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}Invoices
List invoices
Returns a paginated list of invoices for the portal. Supports filtering by client, company, and subscription.
GET
/
v1
/
invoices
List invoices
curl --request GET \
--url https://api.assembly.com/v1/invoices \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.assembly.com/v1/invoices"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.assembly.com/v1/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.assembly.com/v1/invoices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.assembly.com/v1/invoices"
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))
}HttpResponse<String> response = Unirest.get("https://api.assembly.com/v1/invoices")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.assembly.com/v1/invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"address": {
"addressLine1": "548 Market St",
"addressLine2": "Suite 100",
"city": "San Francisco",
"country": "United States",
"fullAddress": "548 Market St, San Francisco, CA 94105",
"postalCode": "94105",
"region": "California"
},
"amountPaid": 123,
"attachmentKeys": [
"<string>"
],
"attachmentUrls": [
"<string>"
],
"billingReason": "manual",
"clientId": "client_a1b2c3d4e5f6",
"collectionMethod": "sendInvoice",
"companyId": "company_a1b2c3d4e5f6",
"createdAt": "<string>",
"creatorId": "<string>",
"currency": "usd",
"data": "<string>",
"daysUntilDue": 14,
"dueDate": "2024-03-01T00:00:00Z",
"entityType": "<string>",
"fileKey": "<string>",
"fileUrl": "<string>",
"id": "<string>",
"identityId": "<string>",
"interval": "<string>",
"latestRefundStatus": "succeeded",
"lineItems": [
{
"amount": 5000,
"description": "Onboarding setup fee",
"id": "<string>",
"priceId": "price_1a2b3c",
"priceInterval": "month",
"productId": "prod_1a2b3c",
"quantity": 2,
"type": "<string>"
}
],
"memo": "Thanks for your business",
"number": "INV-0001",
"object": "<string>",
"origin": "internal",
"paidManually": true,
"payment": [
{
"amount": 10000,
"brand": "Visa",
"chargedAt": "2024-02-20T14:05:00Z",
"createdAt": "<string>",
"creatorId": "<string>",
"data": "<string>",
"declineCode": "insufficientFunds",
"entityType": "PAYMENT",
"fee": {
"absorbedAmount": 0,
"chargedAmount": 150,
"isFeeAbsorbed": false,
"items": [
{
"amount": 150,
"type": "ccPercentage"
}
],
"totalAmount": 150
},
"feeAmount": {
"paidByClient": 150,
"paidByPlatform": 0
},
"id": "<string>",
"identityId": "<string>",
"intentId": "pi_3OabcdEFghIJklmn",
"invoiceId": "550e8400-e29b-41d4-a716-446655440000",
"last4Digits": "4242",
"message": "The card has insufficient funds to complete the purchase.",
"object": "<string>",
"paymentMethod": "creditCard",
"portalId": "a1b2c3d4",
"previousAttributes": {},
"ref": "<string>",
"status": "succeeded",
"stripeChargeId": "ch_3OabcdEFghIJklmn",
"updatedAt": "<string>"
}
],
"paymentMethodPreferences": [
{
"feePaidByClient": true,
"type": "creditCard"
}
],
"paymentPreferences": {
"absorbTransactionFee": [],
"paymentMethodTypes": []
},
"paymentSourceId": "<string>",
"paymentSuccessDate": "2024-02-20T14:05:00Z",
"portalId": "<string>",
"previousAttributes": {},
"quickBooksData": {
"invoiceId": "<string>",
"paymentId": "<string>"
},
"receiptKey": "<string>",
"receiptNumber": "REC-0001",
"receiptUrl": "<string>",
"recipientId": "client_a1b2c3d4e5f6",
"ref": "<string>",
"sentDate": "2024-02-15T09:00:00Z",
"sourcePaymentLinkId": "plink_a1b2c3d4e5f6",
"status": "open",
"subscription": {
"additionalFields": {},
"cancelledAt": "2024-02-20T14:05:00Z",
"clientId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"collectionMethod": "sendInvoice",
"companyId": "f0e1d2c3-b4a5-6789-0123-456789abcdef",
"createdAt": "<string>",
"creatorId": "<string>",
"currency": "usd",
"data": "<string>",
"daysUntilDue": 30,
"fields": {
"absorbTransactionFees": true,
"address": {
"addressLine1": "548 Market St",
"addressLine2": "Suite 100",
"city": "San Francisco",
"country": "United States",
"fullAddress": "548 Market St, San Francisco, CA 94105",
"postalCode": "94105",
"region": "California"
},
"allowPaymentViaACH": true,
"allowPaymentViaCC": true,
"attachment": "<string>",
"cancelledAt": "<string>",
"clientUserId": "<string>",
"collectionMethod": "<string>",
"companyId": "<string>",
"currency": "<string>",
"daysUntilDue": 123,
"forcePaused": true,
"interval": "<string>",
"lineItems": [
{
"description": "<string>",
"id": "<string>",
"priceId": "<string>",
"productId": "<string>",
"quantity": 123,
"rate": 123
}
],
"memo": "<string>",
"paymentPreferences": {
"absorbTransactionFee": [],
"paymentMethodTypes": []
},
"prorate": true,
"purchaseFields": {},
"reactivatedBy": "<string>",
"resetBillingCycle": true,
"scheduleEndDate": 123,
"scheduleIterations": 123,
"scheduleStartDate": 123,
"taxPercentage": 123
},
"filteredListIndexPkey": "<string>",
"forcePaused": false,
"id": "<string>",
"identityId": "<string>",
"interval": "monthly",
"intervalCount": 1,
"lineItems": [
{
"amount": 5000,
"description": "Onboarding setup fee",
"id": "<string>",
"priceId": "price_1a2b3c",
"priceInterval": "month",
"productId": "prod_1a2b3c",
"quantity": 2,
"type": "<string>"
}
],
"memo": "Monthly retainer",
"object": "<string>",
"paymentMethodPreferences": [
{
"feePaidByClient": true,
"type": "creditCard"
}
],
"paymentSourceId": "card_1a2b3c",
"previousAttributes": {},
"recipientId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"ref": "<string>",
"status": "active",
"taxPercentage": 8.25,
"templateId": "a7c3e9f1-2b4d-4e6a-8c0f-1d2e3f4a5b6c",
"updatedAt": "<string>"
},
"subscriptionId": "sub_a1b2c3d4e5f6",
"taxAmount": 1275,
"taxPercentage": 8.5,
"templateId": "itmpl_a1b2c3d4e5f6",
"total": 15000,
"updatedAt": "<string>"
}
],
"nextToken": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}Authorizations
Query Parameters
Filter by client ID
Filter by company ID. Required with clientId when includeCompanyInvoices is true (returns that client's invoices plus the company's).
When true with clientId, also include invoices billed to companyId. companyId is required in that case.
Filter by subscription ID
Maximum number of records to return
Pagination cursor returned by a previous request
⌘I