---
title: "Activate Subscription Endpoint"
method: POST
path: "/api/payment/activate-subscription"
---

# Activate Subscription Endpoint

`POST /api/payment/activate-subscription`

Confirm card attached via SetupIntent — set default PM on Customer.

No Stripe Subscription is created. The card-trial bonus (5000 credits)
is granted asynchronously by the ``setup_intent.succeeded`` webhook
via ``api.app_auto_gtm.card_trial.ensure_user_and_grant``.

Endpoint name kept for frontend backwards-compat — historically this
DID create a Subscription before postpaid-v2 (see git history of this
file for context).

## Request body

- ActivateSubscriptionRequest
  - `device_id` string, required
  - `email` string
  - `email_consent` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

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