Create a receivable
POST/receivables
Creates a single receivable (or an installment/recurring series). Requires scope finance.receivables.write. workspace_id is always taken from the token. A person is required — send person: {id} or person: {name}. {name} (person / category / classification_center) is find-or-create (customer/credit/revenue polarity); sending both id and name inside the same nested object returns 400. classification_centers[] (rateio) and tax_charges[] are accepted. Pass an X-Idempotency-Key header on retries.
Request
Responses
- 201
- 400
- 401
- 403
- 409
- 422
- 429
- 500
Receivable created. The Location header points at the new row; the body is the full detail shape. X-Idempotent-Replay: true marks a replayed response.
Malformed JSON, or id and name sent together inside the same nested entity reference.
Missing / invalid / expired / revoked token.
Token lacks the finance.receivables.write scope.
X-Idempotency-Key reused with a different body.
Schema validation failure, or domain violation: missing person, company / account not in tenant, account does not match company, or rateio Σ ≠ amount.
Rate limit exceeded for this token. Reads and writes have separate budgets, both on a 1-hour sliding window. The response carries X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset and Retry-After — wait out Retry-After rather than retrying immediately.
Unhandled server error.