links.10x.in/docs/end-user/playbooks/ops-lab-creator-revenue Published:

Ops Lab Playbook: Creator Revenue

Last updated: 2026-03-08

1. Purpose and when to use this

Use this module for full monetization lifecycle: connect onboarding, paid page publishing, visitor checkout/auth, entitlement settlement, earnings visibility, and group-buy publication.

2. User roles and auth modes

  • JWT owner: connect onboarding, paid page control, earnings reads.
  • JWT creator/operator: group-buy publish and management.
  • VISITOR_COOKIE/public: checkout/access routes and visitor auth flow.

3. Prerequisites checklist

  • Primer completed: Onboarding and API Primer
  • Billing/connect configuration enabled.
  • HANDLE, JWT_TOKEN available.
  • Visitor test email address available.

4. UI onboarding flow

  1. Open https://app.10x.in/apps/creator-revenue.
  2. Start Connect onboarding and verify status.
  3. Create and publish a paid page.
  4. Run visitor magic link auth and checkout.
  5. Confirm entitlement and earnings update.
  6. Publish a group-buy and validate public visibility.

5. API workflow map

  1. CR-01: POST /v2/handles/{handle}/connect/onboarding (owner JWT)
  2. CR-02: GET /v2/handles/{handle}/connect/status (JWT)
  3. CR-03: POST /v2/handles/{handle}/pages + publish (owner JWT)
  4. CR-04: POST /v2/visitor/auth/magic-link (public)
  5. CR-05: POST /v2/public/pages/{handle}/{pageSlug}/checkout + Stripe webhook settlement
  6. CR-06: GET /v2/handles/{handle}/earnings (JWT)
  7. CR-07: POST /v2/handles/{handle}/group-buys/{groupBuySlug}/publish (JWT)

6. cURL examples

Set module variables:

export PAGE_SLUG="premium"
export GROUPBUY_SLUG="vip-launch"
export VISITOR_COOKIE="_10x_visitor=<cookie-value>"

CR-01 Start connect onboarding

curl -sS -X POST "${API_BASE}/v2/handles/${HANDLE}/connect/onboarding" \
  -H "authorization: Bearer ${JWT_TOKEN}" \
  -H 'content-type: application/json' \
  -d '{}'

CR-03 Create paid page

curl -sS -X POST "${API_BASE}/v2/handles/${HANDLE}/pages" \
  -H "authorization: Bearer ${JWT_TOKEN}" \
  -H 'content-type: application/json' \
  -d '{"slug":"'"${PAGE_SLUG}"'","title":"Premium","mode":"PAID","priceCents":2500}'

Publish paid page

curl -sS -X POST "${API_BASE}/v2/handles/${HANDLE}/pages/${PAGE_SLUG}/publish" \
  -H "authorization: Bearer ${JWT_TOKEN}" \
  -H 'content-type: application/json' \
  -d '{}'

CR-05 Checkout paid page

curl -sS -X POST "${API_BASE}/v2/public/pages/${HANDLE}/${PAGE_SLUG}/checkout" \
  -H "cookie: ${VISITOR_COOKIE}" \
  -H 'content-type: application/json' \
  -d '{}'

CR-06 Read earnings

curl -sS "${API_BASE}/v2/handles/${HANDLE}/earnings" \
  -H "authorization: Bearer ${JWT_TOKEN}"

CR-07 Publish group-buy

curl -sS -X POST "${API_BASE}/v2/handles/${HANDLE}/group-buys/${GROUPBUY_SLUG}/publish" \
  -H "authorization: Bearer ${JWT_TOKEN}" \
  -H 'content-type: application/json' \
  -d '{}'

7. Expected success outputs and verification checks

  • Connect onboarding returns URL/session metadata.
  • Connect status confirms onboarding requirements and readiness.
  • Paid page create returns 201; publish returns 200.
  • Checkout returns valid checkout/session envelope.
  • Earnings response includes gross/net/platform fee aggregates.
  • Group-buy publish sets public discoverable state.

8. Failure modes and remediation

  • 403 feature_locked or plan-gated failure on paid pages:
  • Remediation: verify plan tier and owner authorization.
  • Checkout succeeds but earnings not updated yet:
  • Remediation: allow webhook + rollup processing time and re-read earnings.
  • 401/cookie failures on visitor checkout:
  • Remediation: refresh visitor auth and cookie state.

9. Async behavior notes

  • Page publish may trigger marker sync via background processing.
  • Checkout settlement is webhook-driven.
  • Earnings updates may be queued for rollup via background processing.

10. Related links