Understanding renewal errors (rebill errors)
Prerequisites
Section titled “Prerequisites”- Access to the Ciklik API (API documentation)
- Familiarity with rebill (automatic renewal) concepts
- Ciklik module installed and configured on PrestaShop
Rebill Errors API Endpoint
Section titled “Rebill Errors API Endpoint”The Ciklik API exposes a dedicated endpoint for rebill errors: /api/rebill-errors
Error Types
Section titled “Error Types”The rebill-errors endpoint covers exclusively the following errors:
Complete stock error (failed)
Section titled “Complete stock error (failed)”No products from the subscription were available at the time of renewal. No order is generated.
{ "id": 1, "type": "failed", "created_at": "2026-01-08T06:00:00Z", "subscription_id": "uuid-de-l-abonnement", "message": "All items out of stock"}Behavior:
- No order is created in PrestaShop
- The subscription remains active
- The error is logged and accessible via the API
- The rebill will be automatically retried the next day, then every following day until stock is restored. Once stock is available again, the renewal is processed and the date of that payment becomes the new due date (the cycle restarts from that date)
Partial stock error (partial)
Section titled “Partial stock error (partial)”At least one product from the subscription was out of stock, but the order was placed with the available products.
{ "id": 432, "type": "partial", "created_at": "2026-01-08T06:00:00Z", "subscription_id": "uuid-de-l-abonnement", "message": "Partial stock availability"}Behavior:
- The order is created with only the available products
- The out-of-stock product is not listed in the error response (known limitation)
- To identify the missing product, compare the content of the generated order with the expected content of the subscription
PrestaShop API error
Section titled “PrestaShop API error”The PrestaShop site returned an unexpected response (empty HTTP response, 500 error, 401, timeout…).
Behavior:
- The error is captured
- The rebill is automatically retried 24 hours later
- The subscription remains in active status
Filtering by date
Section titled “Filtering by date”You can filter errors by date to analyze a specific period:
GET /api/rebill-errors?filter[created_at_after]=2026-01-07&filter[created_at_before]=2026-01-09Historical data
Section titled “Historical data”Practical use cases
Section titled “Practical use cases”Diagnosing recurring errors
Section titled “Diagnosing recurring errors”A subscription has been consistently failing for several months:
-
Retrieve errors for this subscription:
Fenêtre de terminal GET /api/rebill-errors?filter[subscription_id]=uuid-abonnement -
Analyze the error type:
failed→ Check the product stock in PrestaShoppartial→ Compare the generated order with the subscription- API error → Check PrestaShop server logs
Daily error report
Section titled “Daily error report”To identify yesterday’s issues:
GET /api/rebill-errors?filter[created_at_after]=2026-01-07&filter[created_at_before]=2026-01-08Q: Why doesn’t my credit card payment error appear in this endpoint?
Credit card payment errors (card declined, insufficient funds, etc.) are not handled by this endpoint. They go through the payment retry system. See Payment retries: Rebill.
Q: How do I know which product was out of stock during a partial error?
The out-of-stock product is not listed in the error. Compare the content of the generated order (via the orders API) with the expected content of the subscription (via the subscriptions API).
Q: Are errors kept indefinitely?
Yes, since the endpoint was activated in December 2025. Earlier errors were not retained.