UUpward API
v1
GET/api/public/v1/billing/subscription
Requires x-auth-token

Read a plan

The person's current plan, interval, dates, payment status and any scheduled change or cancellation.

  • Identify the member with x-auth-user (their pagename or your own external_id) alongside your API key.
  • pendingChange: a plan change you scheduled with at_period_end, with the date it takes effect; null when none.
  • scheduledCancellation: a cancellation that takes effect at the end of the paid period; null when none.
  • paidThrough: the paid-through date you reported, or null when Upward works out the dates. accessUntil is the last moment the plan gives access (null on the Free plan).
  • paymentStatus: "failed" after you reported a failed payment (status is then past_due; access runs to accessUntil), otherwise "ok".
  • renewalAssumed: true while Upward is assuming the period renewed because nothing was reported.

Query parameters

This endpoint takes no parameters.

Responses

200OKCurrent plan state.
{
  "success": true,
  "subscription": {
    "memberSlug": "johndoe",
    "planKey": "starter",
    "planName": "Starter",
    "billingMode": "monthly",
    "status": "active",
    "startedAt": "2026-01-05T10:00:00.000Z",
    "renewsAt": "2026-02-05T10:00:00.000Z",
    "cancelAtPeriodEnd": false,
    "pendingChange": { "planKey": "pro", "planName": "Pro", "billingMode": "monthly", "effectiveAt": "2026-02-05T10:00:00.000Z" },
    "scheduledCancellation": null,
    "renewalAssumed": false,
    "reference": "INV-1042",
    "paidThrough": "2026-02-05T10:00:00.000Z",
    "paymentStatus": "ok",
    "accessUntil": "2026-02-05T10:00:00.000Z"
  }
}
GET/api/public/v1/billing/subscription

Kept in this tab only — never stored, and never written into the copied code samples.

ResponseNot sent yet