Skip to content

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

FieldTypeRequiredDescription
redirect_uristringYesStripe Connect callback URL
countrystringYesCountry 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

FieldTypeRequiredDescription
confirm_launchbooleanYesMust 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"
}