HighLevel: Send invoice
HighLevel invoices.sendInvoice: arguments, response, policy and SDK examples.
← Invoices operations · Get started
Operation gohighlevel.send_invoice
Provider route: POST /invoices/{invoiceId}/send. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/gohighlevel with npm, or alter-sdk-gohighlevel with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { HighLevelIntegration } from "@alter-ai/gohighlevel";
async function execute(input: Parameters<HighLevelIntegration["invoices"]["sendInvoice"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new HighLevelIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.invoices.sendInvoice(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_gohighlevel import HighLevelIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = HighLevelIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.invoices.send_invoice(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.invoiceId | string | Required within parent | |
body | Model | Required within parent | Expand Send invoice — request body — body |
Referenced models: Send invoice — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Send invoice — response body |
Referenced models: Send invoice — response body
Schemas
Section titled “Schemas”1 more schema is linked from the tables above, on the schema pages.
Send invoice — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
emailData | object | Required within parent | |
invoice | Model | Required within parent | Expand Void invoice — response body |
smsData | object | Required within parent |
Referenced models: Void invoice — response body
Send invoice — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
action | string | Required within parent | One of: sms_and_email, send_manually, email, sms |
altId | string | Required within parent | location Id / company Id based on altType |
altType | string | Required within parent | Alt Type One of: location |
autoPayment | JSON | Optional | auto-payment configuration |
autoPayment (allOf 1) | Model | All variants apply | Expand Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account |
liveMode | boolean | Required within parent | |
sentFrom | JSON | Optional | sender details for invoice, valid only if invoice is not sent manually |
sentFrom (allOf 1) | Model | All variants apply | Expand Get Invoice Settings — response body — sender Configuration from Email, from Name |
userId | string | Required within parent | Please ensure that the UserId corresponds to an authorized personnel, either by an employee ID or agency ID, to access this location. This account will serve as the primary channel for all future communications and updates. |
Referenced models: Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account, Get Invoice Settings — response body — sender Configuration from Email, from Name
Void invoice — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
_id | string | Required within parent | Invoice Id |
altId | string | Required within parent | Location Id or Agency Id |
altType | string | Required within parent | Known values: location |
amountDue | JSON | Required within parent | |
amountDue (anyOf 1) | number | Alternative | Total Amount Due |
amountDue (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amountPaid | JSON | Required within parent | |
amountPaid (anyOf 1) | number | Alternative | Amount Paid |
amountPaid (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
automaticTaxesCalculated | boolean | Optional | Is Automatic taxes calculated for the Invoice items |
automaticTaxesEnabled | boolean | Optional | Automatic taxes enabled for the Invoice |
businessDetails | object | Required within parent | Business Details |
contactDetails | object | Required within parent | Contact Details |
createdAt | string | Required within parent | created at |
currency | string | Required within parent | Currency |
discount | object | Optional | Discount |
dueDate | string | Required within parent | Due date in YYYY-MM-DD format |
invoiceItems | array | Required within parent | Invoice Items |
invoiceItems[] | string | Each item | |
invoiceNumber | JSON | Required within parent | |
invoiceNumber (anyOf 1) | number | Alternative | Invoice Number |
invoiceNumber (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
issueDate | string | Required within parent | Issue date in YYYY-MM-DD format |
liveMode | boolean | Required within parent | Live Mode |
name | string | Required within parent | Name of the invoice |
paymentSchedule | object | Optional | split invoice into payment schedule summing up to full invoice amount |
status | string | Required within parent | Invoice Status Known values: draft, sent, payment_processing, paid, void, partially_paid |
title | string | Required within parent | Title |
total | JSON | Required within parent | |
total (anyOf 1) | number | Alternative | Total Amount |
total (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
updatedAt | string | Required within parent | updated at |
Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account
Referenced models: Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account bacs Direct Debit, Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account becs Direct Debit, Record a manual payment for an invoice — request body — body card, Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account sepa Direct Debit, Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account us Bank Account
Get Invoice Settings — response body — sender Configuration from Email, from Name
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
fromEmail | string | Optional | Email id to be used while sending email notification |
fromName | string | Optional | Sender name to be used while sending email notification |
Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account bacs Direct Debit
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
last4 | string | Required within parent | |
sort_code | string | Required within parent |
Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account becs Direct Debit
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
bsb_number | string | Required within parent | |
last4 | string | Required within parent |
Record a manual payment for an invoice — request body — body card
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
brand | string | Required within parent | |
last4 | string | Required within parent |
Send invoice — request body — body auto Payment bacs Direct Debit, becs Direct Debit, card, card Id, customer Id, enable, payment Method Id, provider, sepa Direct Debit, type, us Bank Account sepa Direct Debit
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
bank_code | string | Required within parent | |
branch_code | string | Required within parent | |
last4 | string | Required within parent |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: gohighlevel.send_invoice. Catalog operation: send-invoice. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["invoices.write"]
Pinned headers: {"Version": "v3"}