Skip to main content

Subscriptions APIs: Introduce SubscriptionBillingAttemptState

As of April 2026, you now have access to the SubscriptionBillingAttemptState field in the GraphQL Admin API. This new field replaces several loosely-typed nullable fields with a discriminated union pattern, enhancing the API's ergonomics and self-documentation.

Deprecated FieldNew EquivalentNotes
errorCodeFailedState.error.codeError codes now categorized into Payment, Inventory, General, and Unexpected errors
errorMessageFailedState.error.messageExplicit messages now only on UnexpectedError; other types use typed codes
nextActionUrlActionRequiredState.action.nextActionUrlNow also includes status (OFF_SESSION_REJECTED / ON_SESSION_CHALLENGED)
orderSuccessState.orderSame Order type, scoped to success state
processingErrorFailedState.errorReplaced by typed SubscriptionBillingAttemptError union
readyPendingState.processingInstead of a boolean, check whether state is PendingState

Find details about the SubscriptionBillingAttemptState schema in the documentation.

Was this section helpful?