Create a bill
Create a bill as a draft. Only the line items are required.
Authorizations
User API key authentication. Create a key under Settings → API keys in the Slash dashboard (https://app.slash.com/global-settings/api-keys) and send the x-legal-entity header naming the legal entity to act on with every request. Keys scoped to a legal entity are rejected with 403 user_api_key_required.
Headers
Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns 409 and never replays a response, unlike API v1, which replays the original response for a matching key.
1 - 255The legal entity to act on. Required on every request; a user API key can act on any legal entity its user has access to.
^le_[a-zA-Z0-9]+$Body
A new bill in draft. Every money field must use the same currency.
At least one line. The bill's currency is the lines' currency, and the total is the sum of line totals plus tax minus discount.
1The vendor: any contact on the legal entity that isn't archived, usually one with recipientType: vendor. Create one with POST /v2/contacts.
"le_c_2rj4l7hmrrrcv"
The destination the bill should be paid to. Must belong to vendorContactId when both are given.
"le_contact_destination_2rj4l7hmrrrcv"
The user responsible for the bill. Defaults to the user behind the API key.
"u_2rj4l7hmrrrcv"
The vendor's invoice number.
255"INV-4471"
Invoice date as YYYY-MM-DD.
"2026-09-01"
Due date as YYYY-MM-DD.
"2026-10-01"
Tax added to the line totals, in the bill's currency.
Discount taken off the line totals, in the bill's currency.
Documents uploaded with purpose bill_invoice.
20Free-text notes visible to your organization.
5000Response
The created bill.
Money your legal entity owes a vendor. status and amounts.outstanding are derived from the bill's payments and cannot be set directly.
Bill id with the bill_ prefix.
"bill_2rj4l7hmrrrcv"
Derived from the bill's payments. draft until a payment exists; pending_approval while a payment awaits approval; rejected when the latest approval was rejected; scheduled when a payment is scheduled; payment_pending while a payment is in flight; partially_paid when settled payments cover part of the total; paid when they cover all of it; payment_failed when the latest payment failed or was returned.
draft, pending_approval, rejected, scheduled, payment_pending, paid, payment_failed, partially_paid How the bill entered Slash. api for bills created through this API, manual for the dashboard, email for the accounts-payable inbox, carrier_account for bills pulled from a connected carrier portal. Carrier bills are read-only over the API.
manual, email, carrier_account, api Uppercase ISO 4217 currency code shared by every amount on the bill.
^[A-Z]{3}$"USD"
Every amount is in currency, in minor units.
Line items in display order.
Documents attached to the bill, readable at GET /v2/documents/{documentId}.
Payments linked to the bill, oldest first.
When the bill was created.
The vendor contact, readable at GET /v2/contacts/{contactId}.
"le_c_2rj4l7hmrrrcv"
The destination the bill is expected to be paid to, readable at GET /v2/destinations/{destinationId}.
"le_contact_destination_2rj4l7hmrrrcv"
The user responsible for the bill. Absent for bills that arrived by email and have not been assigned.
"u_2rj4l7hmrrrcv"
The vendor's invoice number.
"INV-4471"
Invoice date as YYYY-MM-DD.
"2026-09-01"
Due date as YYYY-MM-DD.
"2026-10-01"
Free-text notes visible to your organization.