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_TOKENavailable.- Visitor test email address available.
4. UI onboarding flow
- Open
https://app.10x.in/apps/creator-revenue. - Start Connect onboarding and verify status.
- Create and publish a paid page.
- Run visitor magic link auth and checkout.
- Confirm entitlement and earnings update.
- Publish a group-buy and validate public visibility.
5. API workflow map
CR-01:POST /v2/handles/{handle}/connect/onboarding(owner JWT)CR-02:GET /v2/handles/{handle}/connect/status(JWT)CR-03:POST /v2/handles/{handle}/pages+ publish (owner JWT)CR-04:POST /v2/visitor/auth/magic-link(public)CR-05:POST /v2/public/pages/{handle}/{pageSlug}/checkout+ Stripe webhook settlementCR-06:GET /v2/handles/{handle}/earnings(JWT)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 returns200. - 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_lockedor 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.