Herald
OpenapiBilling invoice

Per-resource invoice apply-eligibility (read-only, context-level).

Decision order: ownership → provider → policy → seller config → external-invoice-exists, then delegates the verdict to the pure `determine_invoice_apply_route`. The endpoint resolves facts; the pure function owns the rules (single home — avoids divergence from the write path `validate_invoice_creation_policy` / `apply_invoice`).

GET
/api/user/bill/invoices/apply-eligibility

Decision order: ownership → provider → policy → seller config → external-invoice-exists, then delegates the verdict to the pure determine_invoice_apply_route. The endpoint resolves facts; the pure function owns the rules (single home — avoids divergence from the write path validate_invoice_creation_policy / apply_invoice).

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Query Parameters

referenceType*string

"payment_attempt" | "subscription".

referenceId*string
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/user/bill/invoices/apply-eligibility?referenceType=string&referenceId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "canApply": true,  "provider": "string",  "reason": "string",  "referenceId": "8502eb05-558d-4480-8511-c1011710b340",  "referenceType": "string",  "route": "string"}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}