Projected billing approval rates
GET/v2/reports/projected-billing/approval-rates
Returns the approval rate your own renewals achieved in each bucket of the projected billing report — Rebill #1 to #4+ and Recycle #1 to #4+ — with the period it was measured over and the number of attempts behind each rate. The rates are measured over the 90 days before your request, from the renewals first charged in that time: each renewal's first attempt counts toward its rebill bucket, and each retry made for it so far toward its recycle bucket. An attempt counts as approved when it was authorized, and as declined when a retry followed it or it came back with a decline of any type, including a payment that could not be authorized against its payment method at all. Free renewals are not counted, and neither is an attempt still awaiting its outcome or one that failed without a decline. The rates cover your whole account, whatever a projection filters on, and are computed when you request them. Pass them as rebillProjections and recycleProjections to project at the rates your renewals actually achieve.
Responses
- 200
- 202
- 401
- 403
- 429
- 500
- 503
- 504
OK
The merchant is entitled but its environment is not provisioned yet. Provisioning has been kicked off (exactly once) and is in progress; retry the request — it succeeds once the environment is ready. Returned only for identity-token (dashboard) requests bound to a merchant, not for secret-key API calls; any such endpoint can return it while provisioning is underway.
No API key was supplied, or the key is not valid. type is authentication_error.
The API key is valid but lacks the permission this operation requires. type is permission_error.
Too many requests. A limit applies per operation; requests to other operations are unaffected. type is rate_limit_error. Use the Retry-After-global header to know when to retry.
Response Headers
Seconds to wait before retrying.
The request could not be completed because of an unexpected error. type is api_error.
The request could not be served right now: the API is temporarily at capacity, or a dependency needed to authorize the request is unavailable — the auth service that verifies credentials, or the entitlement lookup behind it. type is api_error. It is raised before the operation runs, so the request had no effect, and unlike a plain 500 the condition is transient: retry with backoff.
The request exceeded the processing time limit and was abandoned. type is api_error and code is timeout — unlike a plain 500 the request may still have taken effect, so retry with the same idempotency key rather than blindly.