Roles and Onboarding
Map each Uraibu role to the right onboarding steps and API resources.
Uraibu is role-based. A single authenticated account may eventually have more than one role, so onboarding should create role accounts instead of treating onboarding as a one-time global step.
Roles
| Role | Purpose | First workspace |
|---|---|---|
| Buyer | Discover products and storefronts. | Nova |
| Seller | Create a storefront and manage products, orders, payments, and delivery. | Storefront dashboard |
| Reseller | Share catalogs and route demand to sellers. | Reseller workspace |
| Courier | Fulfill pickup and delivery work. | Courier workspace |
| Creator | Promote products and campaigns. | Creator workspace |
| Partner | Help sellers with setup, services, and operations. | Partner workspace |
Shared onboarding response
Every role creation endpoint should return the next step:
{
"role": "courier",
"reference": "cr_8ka92d",
"status": "draft",
"nextStep": "coverage",
"nextUrl": "/onboard/courier/cr_8ka92d/coverage"
}
Suggested role endpoints
POST /accounts/roles
GET /accounts/me/roles
GET /accounts/onboarding/{role}/{reference}
PATCH /accounts/onboarding/{role}/{reference}/step
POST /accounts/onboarding/{role}/{reference}/activate
Role-specific endpoints can then handle the details:
POST /accounts/couriers/{reference}/coverage
POST /accounts/creators/{reference}/channels
POST /accounts/partners/{reference}/services
POST /accounts/storefronts/{reference}/products
Activation states
Use clear states:
draftpending_reviewactiverejectedsuspended
Some roles, such as courier and partner, may need review before becoming active. Seller and creator profiles can usually become active faster unless payments, payouts, or regulated categories are involved.