---
title: "Upgrade Membership"
method: POST
path: "/memberships/"
tags: ["memberships"]
---

# Upgrade Membership

`POST /memberships/`

Upgrade to paid membership.

Returns Stripe client_secret for frontend payment confirmation.
Frontend uses client_secret with Stripe Elements to complete payment.
Membership is created after successful payment via webhook.

Requires authentication via Bearer token.

## Request body

- UpgradeMembershipRequest — Request payload accepted by membership checkout endpoint.
  - `email` string, nullable
  - `plan_id` string, nullable
  - `quote_request_id` string, uuid, nullable
  - `checkout_attribution` CheckoutAttributionData — Membership checkout attribution payload.
    - `first_touch` AttributionTouch — A single captured attribution touch.
      - `attribution_version` integer
      - `captured_at` string, date-time, nullable
      - `landing_path` string, nullable
      - `referrer_path` string, nullable
      - `utm_source` string, nullable
      - `utm_medium` string, nullable
      - `utm_campaign` string, nullable
      - `utm_content` string, nullable
      - `utm_term` string, nullable
      - `fbclid` string, nullable
      - `twclid` string, nullable
      - `gclid` string, nullable
      - `gbraid` string, nullable
      - `wbraid` string, nullable
      - `partnership_code` string, nullable
      - `transaction_id` string, nullable
      - `creative_id` string, nullable
    - `last_touch` AttributionTouch — A single captured attribution touch.
      - `attribution_version` integer
      - `captured_at` string, date-time, nullable
      - `landing_path` string, nullable
      - `referrer_path` string, nullable
      - `utm_source` string, nullable
      - `utm_medium` string, nullable
      - `utm_campaign` string, nullable
      - `utm_content` string, nullable
      - `utm_term` string, nullable
      - `fbclid` string, nullable
      - `twclid` string, nullable
      - `gclid` string, nullable
      - `gbraid` string, nullable
      - `wbraid` string, nullable
      - `partnership_code` string, nullable
      - `transaction_id` string, nullable
      - `creative_id` string, nullable
    - `referral_code` string, nullable

## Response `201`

Successful Response

- UpgradeMembershipResponse — Response with Stripe payment details.
  - `client_secret` string, required
  - `subscription_id` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/helloaxel/apis/client-api-gateway.md) · [All operations](https://skmtc.dev/helloaxel/apis/client-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/helloaxel/client-api-gateway/revisions/d3c4c29fede7/schema)
