cURL
curl https://invoice.horizonpay.co/api/v1/business \
-H "Authorization: Bearer $INVOICE_AI_API_KEY"import InvoiceAI from '@horizonpay/invoice-ai'
const invoiceai = new InvoiceAI() // reads INVOICE_AI_API_KEY
const business = await invoiceai.business.retrieve()
console.log(business.legal_name, business.currency)from invoice_ai import InvoiceAI
client = InvoiceAI() # reads INVOICE_AI_API_KEY
business = client.business.retrieve()
print(business.legal_name, business.currency){
"data": {
"id": "0c6f2d8e-3a41-4b9e-8f17-5d2a9c4e1b73",
"legal_name": "Horizon Consulting LLC",
"trade_name": "Horizon",
"country_code": "US",
"currency": "USD",
"tax_id": "US-EIN 98-7654321",
"address": {
"line1": "500 Congress Ave",
"line2": "Suite 1200",
"city": "Austin",
"region": "TX",
"postal_code": "78701",
"country_code": "US",
"country": "United States"
},
"email": "[email protected]",
"phone": "+1 512 555 0199",
"bank": {
"bank_name": "First Austin Bank",
"account_name": "Horizon Consulting LLC",
"account_number": "000123456789",
"routing_number": "111000025"
},
"invoice_prefix": "INV",
"created_at": "2026-01-05T12:00:00.000Z"
}
}{
"type": "https://invoice.horizonpay.co/problems/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Send your API key as `Authorization: Bearer inv_live_…`.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "unauthorized"
}{
"type": "https://invoice.horizonpay.co/problems/forbidden",
"title": "Insufficient scope",
"status": 403,
"detail": "This credential is missing the invoices:write scope.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "forbidden"
}{
"type": "https://invoice.horizonpay.co/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "No business profile yet. Finish onboarding first.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "not_found"
}{
"type": "https://invoice.horizonpay.co/problems/rate-limited",
"title": "Too many requests",
"status": 429,
"detail": "Rate limit of 120 per 60s exceeded.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "rate_limited"
}Business
Retrieve the business profile
Returns your business profile — the issuer printed on every invoice: legal name, address, tax id, default currency, bank details and invoice prefix. Read-only over the API; edit it in Settings.
Scope: business:read
GET
/
business
cURL
curl https://invoice.horizonpay.co/api/v1/business \
-H "Authorization: Bearer $INVOICE_AI_API_KEY"import InvoiceAI from '@horizonpay/invoice-ai'
const invoiceai = new InvoiceAI() // reads INVOICE_AI_API_KEY
const business = await invoiceai.business.retrieve()
console.log(business.legal_name, business.currency)from invoice_ai import InvoiceAI
client = InvoiceAI() # reads INVOICE_AI_API_KEY
business = client.business.retrieve()
print(business.legal_name, business.currency){
"data": {
"id": "0c6f2d8e-3a41-4b9e-8f17-5d2a9c4e1b73",
"legal_name": "Horizon Consulting LLC",
"trade_name": "Horizon",
"country_code": "US",
"currency": "USD",
"tax_id": "US-EIN 98-7654321",
"address": {
"line1": "500 Congress Ave",
"line2": "Suite 1200",
"city": "Austin",
"region": "TX",
"postal_code": "78701",
"country_code": "US",
"country": "United States"
},
"email": "[email protected]",
"phone": "+1 512 555 0199",
"bank": {
"bank_name": "First Austin Bank",
"account_name": "Horizon Consulting LLC",
"account_number": "000123456789",
"routing_number": "111000025"
},
"invoice_prefix": "INV",
"created_at": "2026-01-05T12:00:00.000Z"
}
}{
"type": "https://invoice.horizonpay.co/problems/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Send your API key as `Authorization: Bearer inv_live_…`.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "unauthorized"
}{
"type": "https://invoice.horizonpay.co/problems/forbidden",
"title": "Insufficient scope",
"status": 403,
"detail": "This credential is missing the invoices:write scope.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "forbidden"
}{
"type": "https://invoice.horizonpay.co/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "No business profile yet. Finish onboarding first.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "not_found"
}{
"type": "https://invoice.horizonpay.co/problems/rate-limited",
"title": "Too many requests",
"status": 429,
"detail": "Rate limit of 120 per 60s exceeded.",
"instance": "req_7f3c9a1e2b4d4e8a9c6f2d1b0a3e5f71",
"code": "rate_limited"
}Authorizations
An Invoice-AI API key sent as Authorization: Bearer inv_live_….
Create keys in Settings → API keys; the secret is shown once. Each key carries scopes, and every operation lists the scope it needs (x-required-scope):
business:read— Read your business profile, tax ID and bank detailsclients:read— List and read your clientsclients:write— Create, update and archive clientsproducts:read— List and read products and pricesproducts:write— Create, update and archive products and pricesinvoices:read— List and read invoices, including PDFsinvoices:write— Create, edit and delete draftsinvoices:finalize— Finalize invoices and void theminvoices:send— Email invoices to your clientspayments:write— Mark invoices as paidwebhooks:manage— Manage webhook endpoints
Keys cannot be created or revoked through the API, so a leaked key cannot mint more keys.
Response
The business profile.
The business profile.
Show child attributes
Show child attributes