v2

latestOpenAPI 3.1.02026-08-01244220427.0 KB

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.

post/v2/signup/pending/{pending_id}/activate

Path parameters

pending_idstring required
Example:5eb7cf5a86d9755df3a6c593

The pending User id from POST /signup/pending

Request body

setupIntentIdstring required

Response

Successful Response

userIdstring required
emailstring required