Post Signup Activate
Step 3 (confirm): verify the Stripe SetupIntent succeeded, create
the Stripe Customer + trial Subscription, and atomically flip the User
to status=‘active’. Wraps services/signup.py::activate_user_from_setup_intent
(which already handles idempotency, the pending-only status guard,
SetupIntent status check, and Stripe error rollback).
Replays with the same pending_id are idempotent — a second call after
the row is already active returns the same userId without re-calling
Stripe.
Lower rate-limit (10/minute vs 20/minute on setup-intent) since each activate call potentially creates Stripe resources.
Path Parameters
The pending User id from POST /signup/pending
24^[0-9a-f]{24}$"5eb7cf5a86d9755df3a6c593"
Body
1 - 200