Skip to main content
POST
Create Invoice
For the complete documentation index, see llms.txt. Creates an invoice and returns the full invoice object together with a payment_url the customer opens to complete payment.

Request Body

string
required
Currency code for the invoice amount (e.g. "USD", "KES"). See all codes
array
required
Line items (at least one required)
string
Customer’s email address. Omit or pass null for walk-in customers. It cannot be an email of your own business account. An invoice that names you as the payer is refused with a 422.
string
Customer’s display name (optional)
number
Tax percentage (e.g. 16 for 16%). Defaults to 0.
array
Optional array of store item objects to link catalogue items to this invoice.
string
The asset you want to be paid in. Leave it out to let the payer choose. See all assets
  • "BTC", "ETH", "USDT", or "SATS"
  • "LOYALTY" for your own loyalty token. Your business must have one.
  • A stock symbol such as "AAPLon". Case sensitive.
When you set an asset, the invoice can be paid only in that asset. A payment in anything else is refused before it is sent.When you leave it out, the payer can pay with "BTC", "ETH", "USDT", "SATS", your loyalty token if you have one, or any stock on your watchlist in the Shakesco app. A stock that is not on your watchlist can still be paid if you name it here.We recommend receiving "USDT" or "SATS". Both settle fast and cheap.
string
Optional URL the customer is sent to after they finish paying. Must be a valid URL. Use it to return the payer to your own confirmation or order page.

Response

Returns the full invoice object with line items.
string
Unique invoice identifier (e.g. "INV-2026-A1B2C3D4")
string
Encrypted URL the customer opens to complete payment
string
"pending" on creation
string
Invoice currency code
number
Tax percentage applied
string
ISO 8601 datetime after which the invoice expires
null
Deferred. Set to null until the payer initiates payment.
string | null
The asset you asked for. null until the payer chooses one when you left it out.
string | null
The redirect URL you supplied, or null if none was set
boolean | null
Whether the transaction originated from the Shakesco store. true for store transactions, false for a standard invoice you created through the API, and null when it does not apply. Use this to tell store sales apart from your own invoices.
array
Line items on the invoice. Each has description, unit, price, and image.