Memberships

Refresh a Membership's status

Recomputes the derived status fields on a Membership (status and attention_reason) based on the current state of its underlying charges, billing schedule and external mandate. Use this when an out-of-band event (a manual database fix, a stuck webhook, a payment-provider reconciliation) has left the membership in an inconsistent visible state and the operator needs to nudge it back into sync.

The recomputation is deterministic — it derives the new status from the membership's existing data, not from external inputs. Pass dry_run=true to compute the new status without saving; dry_run=false (the default) persists the recomputed values.

The response always returns both the previous and the new status / attention_reason so callers can detect whether the refresh actually changed anything.

post/customers/memberships/{membershipId}/update-status

Request body

dry_runboolean

When true, computes the new status and attention_reason but does not persist them. Use this to surface the proposed change to an operator before applying it. Defaults to false.

Response

The membership status was recomputed.

Example response

{
  "data": {
    "previous_status": "active",
    "previous_attention_reason": "payment_failed",
    "new_status": "needs_attention",
    "new_attention_reason": "mandate_revoked"
  }
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.