curl --request GET \
--url https://api.assembly.com/v1/invoices/{id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.assembly.com/v1/invoices/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.assembly.com/v1/invoices/{id}")
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{
"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>",
"invoiceCreationStatus": "ephemeral",
"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": [
"bankAccount"
],
"paymentMethodTypes": [
"bankAccount"
]
},
"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": [
"bankAccount"
],
"paymentMethodTypes": [
"bankAccount"
]
},
"prorate": true,
"purchaseFields": {
"origin": "internal"
},
"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>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}Retrieve an invoice
Returns a single invoice by ID.
curl --request GET \
--url https://api.assembly.com/v1/invoices/{id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.assembly.com/v1/invoices/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.assembly.com/v1/invoices/{id}")
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{
"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>",
"invoiceCreationStatus": "ephemeral",
"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": [
"bankAccount"
],
"paymentMethodTypes": [
"bankAccount"
]
},
"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": [
"bankAccount"
],
"paymentMethodTypes": [
"bankAccount"
]
},
"prorate": true,
"purchaseFields": {
"origin": "internal"
},
"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>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}Authorizations
Path Parameters
Invoice ID
Response
OK
Address stores the selected billing address from custom fields
Show child attributes
Show child attributes
AmountPaid is the amount paid so far in the smallest currency unit (e.g. cents).
AttachmentKeys are the storage keys of the invoice attachments.
AttachmentUrls are presigned download URLs for the invoice attachments.
BillingReason describes why the invoice was created (e.g. manual, subscription cycle).
"manual"
ClientID is the ID of the client the invoice is billed to.
"client_a1b2c3d4e5f6"
CollectionMethod controls how the invoice is collected.
sendInvoice, chargeAutomatically, paymentLink "sendInvoice"
CompanyID is the ID of the company the invoice is billed to.
"company_a1b2c3d4e5f6"
Currency is the ISO 4217 currency code the invoice is denominated in.
"usd"
DaysUntilDue is the number of days from issuance until the invoice is due.
14
DueDate is the RFC 3339 timestamp by which the invoice must be paid.
"2024-03-01T00:00:00Z"
ObjectType is the internal entity type discriminator.
FileKey is the storage key of the invoice PDF.
FileUrl is the presigned download URL for the invoice PDF.
Property copied from subscription when creating invoice We need this value when we have to show line items descriptions (Format "Item (at US$621.00 / month)") on invoice details for subscriptions invoices. We can fetch this directly from subscription at that time, but we delete subscriptions when we delete the recipient (client/company). For deleted recipients we still show invoices which were paid in the past. So we need to store this value here to show line items descriptions for invoices even if subscriptions are deleted.
ephemeral, pending, created LatestRefundStatus is the status of the most recent refund issued against the invoice, when any.
pending, succeeded, failed "succeeded"
LineItems are the priced line items that make up the invoice.
Show child attributes
Show child attributes
Memo is an optional note shown to the recipient on the invoice.
"Thanks for your business"
Number is the human-readable invoice number.
"INV-0001"
Origin indicates how the invoice was created.
internal, payment_link, product_store "internal"
represents the successful payments only
Show child attributes
Show child attributes
field is only used for platform api and should not be used anywhere else on FE/BE
Show child attributes
Show child attributes
fields is used for BE/FE only
Show child attributes
Show child attributes
PaymentSuccessDate is the RFC 3339 timestamp at which payment succeeded; absent until paid.
"2024-02-20T14:05:00Z"
PortalID is the ID of the portal the invoice belongs to.
Show child attributes
Show child attributes
ReceiptNumber is the human-readable receipt number, set once the invoice is paid.
"REC-0001"
ReceiptUrl is the presigned download URL for the receipt PDF.
Deprecated: use ClientID and CompanyID instead
"client_a1b2c3d4e5f6"
SentDate is the RFC 3339 timestamp at which the invoice was sent to the recipient.
"2024-02-15T09:00:00Z"
SourcePaymentLinkId is the ID of the payment link that produced this invoice, when applicable.
"plink_a1b2c3d4e5f6"
Status is the current lifecycle state of the invoice.
draft, open, void, paid, processing "open"
Subscription is populated from search results when subscriptionId is present (not persisted)
Show child attributes
Show child attributes
SubscriptionID is the ID of the subscription that generated this invoice, when applicable.
"sub_a1b2c3d4e5f6"
TaxAmount is the computed tax in the smallest currency unit (e.g. cents).
1275
TaxPercentage is the tax rate applied to the invoice, expressed as a percentage.
8.5
TemplateID is the ID of the invoice template the invoice was created from, when applicable.
"itmpl_a1b2c3d4e5f6"
Total is the invoice total in the smallest currency unit (e.g. cents).
15000