Bill routes: approve, pay
The Bill Verbs approve, pay as api.sb routes, with inputs, result, refusals and an example.
Reference for Bill, one group of Bill routes.
Bill.approve
Approve accepts a coded Bill for payment within the approver’s Mandate and schedules it for its due date. Verb page.
POST /{namespace}/ bills/ {bill}/ approvePath: bill. Emits Bill.approved.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
bill | Bill | required | The coded Bill. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
bill | Bill | required | The approved Bill, scheduled for its due date. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ bills/ bill_Zorj7Zkbtc/ approve \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"bill": {
"$id": "https: //api.sb/ leaseline.app/ bills/ bill_Zorj7Zkbtc",
"$type": "Bill",
"organization": "organization_v0SkRLrXCN",
"amount": {
"amount": 29,
"currency": "USD"
},
"dueOn": "2026-10-22",
"status": "received"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Bill.approve",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Bill.pay
Pay sends an approved Bill’s amount to its Organization on the due date and reconciles the payment to Entries. Verb page.
POST /{namespace}/ bills/ {bill}/ payPath: bill. Emits Bill.paid.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
bill | Bill | required | The approved Bill. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
transaction | Transaction | required | The payment Transaction. |
bill | Bill | required | The Bill, now paid. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ bills/ bill_Zorj7Zkbtc/ pay \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"transaction": {
"$id": "https: //api.sb/ leaseline.app/ transactions/ txn_XoxtZe3CQI",
"$type": "Transaction",
"kind": "charge",
"amount": {
"amount": 29,
"currency": "USD"
}
},
"bill": {
"$id": "https: //api.sb/ leaseline.app/ bills/ bill_Zorj7Zkbtc",
"$type": "Bill",
"organization": "organization_v0SkRLrXCN",
"amount": {
"amount": 29,
"currency": "USD"
},
"dueOn": "2026-10-22",
"status": "received"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Bill.pay",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}