Charge House Account
POST/api/customers/:customer/house-account/charge
Manually charge an amount to the customer's house account, increasing the balance owed. Writes a charge ledger entry and returns it with the account's new balance.
customers:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token (PAT).
Permission: customers.update.
Request body fields:
amount(numeric, required, > 0) — the amount to charge. Error message when not > 0: "The charge amount must be greater than zero."notes(string, nullable, max 2000) — internal note.reference(string, nullable, max 255) — external reference (e.g. a PO or receipt number).
The charge is rejected with 422 when the customer has no house account enabled, or when it would push the balance owed past the customer's credit limit.
Returns 201 with { data: <ledger entry>, balance: <float>, message: "Charge recorded." }.
Request
Responses
- 201
- 401
- 403
- 404
- 422
- 429
Created
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.