Appearance
STEP 6 — REVIEW & LAUNCH
24. GET /onboarding/review
Get the full onboarding review summary before launch. Requires authentication.
Request
http
GET /onboarding/review
Authorization: Bearer <token>Response 200 OK
json
{
"status": "success",
"data": {
"steps": [
{
"step": 1,
"label": "Account created",
"status": "complete",
"icon": "check",
"detail": "@comedyking",
"is_required": true,
"action": null
},
{
"step": 2,
"label": "YouTube connected",
"status": "complete",
"icon": "check",
"detail": "245K subscribers",
"is_required": false,
"action": null
},
{
"step": 3,
"label": "Content imported",
"status": "complete",
"icon": "check",
"detail": "24 videos ready",
"is_required": false,
"action": null
},
{
"step": 4,
"label": "Monetization configured",
"status": "complete",
"icon": "check",
"detail": "Hybrid model · $4.99 PPV · $9.99/mo subscription",
"is_required": false,
"action": null
},
{
"step": 5,
"label": "Content pricing rules",
"status": "complete",
"icon": "check",
"detail": "3 custom rules configured for different content types",
"is_required": false,
"action": null
},
{
"step": 6,
"label": "Payout setup",
"status": "pending",
"icon": "warning",
"detail": "Connect Stripe to receive payments",
"is_required": true,
"action": {
"label": "Connect",
"url": "/onboarding/payout/connect"
}
}
],
"can_launch": false,
"launch_blocked_reason": "Payout setup is required before launching",
"onboarding": {
"current_step": 6,
"total_steps": 6,
"percent_complete": 100
}
}
}25. POST /onboarding/payout/connect
Connect Stripe account to receive payments. Requires authentication.
Request Body
json
{
"redirect_uri": "https://drop.tv/onboarding/payout/callback",
"country": "US"
}Request Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| redirect_uri | string | Yes | Stripe Connect callback URL |
| country | string | Yes | Country code for Stripe account |
Response 200 OK
json
{
"status": "success",
"data": {
"stripe_connect_url": "https://connect.stripe.com/oauth/authorize?response_type=code&client_id=ca_xxx&scope=read_write&redirect_uri=...",
"state": "stripe_state_token_xyz",
"expires_in_seconds": 300
}
}26. POST /onboarding/launch
Launch the creator's page. Marks onboarding as complete. Requires authentication.
Request Body
json
{
"confirm_launch": true
}Request Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| confirm_launch | boolean | Yes | Must be true to proceed |
Response 200 OK
json
{
"status": "success",
"message": "Your creator page is now live!",
"data": {
"creator_id": "creator_001",
"creator_name": "Comedy King",
"handle": "comedyking",
"channel_url": "https://drop.tv/@comedyking",
"is_live": true,
"launched_at": "2024-11-01T10:05:00Z",
"onboarding_complete": true,
"summary": {
"videos_published": 24,
"monetization_model": "hybrid",
"subscription_price": 9.99,
"ppv_price": 4.99,
"estimated_monthly_earnings": "$2,400 - $8,500"
},
"next_steps": [
"Complete your profile bio",
"Upload a profile photo",
"Schedule your first live stream",
"Share your page with your audience"
]
}
}Errors
json
{
"status": "error",
"code": 400,
"message": "Cannot launch: Payout setup is required before going live"
}