v2
latestOpenAPI 3.1.02026-08-01244220427.0 KBPost 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
Response
Successful Response