Record a billing alert for a bill
post/v1/billing/bills/{bill_id}/alerts
Requires an API key
Requires billing:write on the bill's tenant. kind hold_stop: the application stopped charging because usage neared the hold. Recorded once per bill and kind; repeating the call returns the same alert. Alerts never move money.
Path parameters
- bill_idstringRequiredPattern
^bill_[0-9a-f]{32}$
Request body
- kindstringRequiredhold_stop: the application stopped charging near the authorization hold. Recorded once per bill.
Returns · 200
- idstringRequired
- tenant_idintegerRequired
- bill_idstringRequired
- payment_idstring | nullRequired
- kindenumRequiredOne of
over_hold,near_hold,hold_stop - total_minorinteger | nullRequired
- hold_minorinteger | nullRequired
- created_atstringRequired
- resolved_atstring | nullRequired
POST /v1/billing/bills/{bill_id}/alerts
curl --fail-with-body -X POST "https://api.ivoracharge.com/v1/billing/bills/bill_0123456789abcdef0123456789abcdef/alerts" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "hold_stop"
}'Response · 200
{
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"bill_id": "bill_0123456789abcdef",
"payment_id": "payment_0123456789abcdef",
"kind": "over_hold",
"total_minor": 1250,
"hold_minor": 1250,
"created_at": "2026-09-30T17:00:00Z",
"resolved_at": "2026-09-30T17:00:00Z"
}Try it is not available here yetRequests from this page are off until the production API at
https://api.ivoracharge.com is public. Use the code samples from your application server; Ivora grants production access. Keys are created in Developer tools.