API Query - Payment Method Removed from Subscription

We would like to query via API the subscriptions that have no associated payment method, but our tech team was unable to identify how to do so. I know that through Problem Cycles I can see the subscriptions that were not generated for this reason, but I would like to identify them in advance without having to wait for the error to occur — could you please help us?

We would like to use the API to query subscriptions that have no payment method associated

Unfortunately, we don’t yet have an API to check which subscriptions have no payment method registered, so you don’t have to wait for the subscription to reach a PAYMENT_ERROR state.

I know that through Cycles with Issues I can see the subscriptions that weren’t generated for this reason

Exactly! Through the Orders > Subscriptions > Dashboards > Subscription orders module, you can filter subscription orders by: Skipped; with issues; payment error; completed.

But you can also use the API to query subscriptions and cycles that returned a payment error.

  1. Through the cycles module. List cycles and Get cycle details

  2. Through the Report module, which will export a spreadsheet to the email provided in the headers.

These reports can be:

  • subscriptionsWithStatus
  • subscriptionsScheduledBetweenDate
  • subscriptionsUpdatedBetweenDate
  • subscriptionsCreatedBetweenDate
  • executionsBetweenDate

These APIs should be filtered by the status attribute, and we are aware of the need to improve the documentation for both modules (a doc improvement has already been requested!)
The possible statuses are as follows:

  • TRIGGERED → A subscription cycle execution was triggered.
  • IN_PROCESS → The subscription is being processed by the system (temporary status).
  • FAILURE → An internal error occurred during the subscription execution.
  • SUCCESS → The subscription cycle completed successfully.
  • EXPIRED → The subscription was not renewed and exceeded its validity date.
  • ORDER_ERROR → The subscription cycle was not executed due to an error when placing the order.
  • PAYMENT_ERROR → The subscription cycle was not executed due to a payment error.
  • SKIPED → A subscription cycle execution was skipped, and the subscription will run in the next cycle.
  • SUCCESS_WITH_NO_ORDER → A subscription cycle was executed successfully, and the associated order has no items.
  • SUCCESS_WITH_PARTIAL_ORDER → A subscription cycle was executed successfully, and has a partial order associated with it.
  • RE_TRIGGERED → A subscription cycle re-execution was triggered manually.
  • SCHEDULE_UPDATED → The date of the next subscription cycle execution was updated.

I’ll also share this Help article on troubleshooting errors in subscription orders.