API reference
Add creator-team member
Adds a member through the existing creator-team workflow and stores the reseller relationship; the member completes normal organizer onboarding.
https://api.sparkglim.net/api/white-label/portal/reseller/membersAccess model
- Access model
- SparkGlim session and member permissions
- Required scope
members:write- Documented availability
- Implemented in source
Availability is verified from source, not a live production guarantee.
Use the creator-team member workflow. Reseller access never grants unrestricted database or administrator access.
Headers
| Name | Type | Validation |
|---|---|---|
AuthorizationRequiredExisting SparkGlim bearer session; server account membership and assigned capabilities still authorize each operation. | string | Validation: Bearer existing authenticated session token. |
Request
| Name | Type | Validation |
|---|---|---|
userIdOptionalOptional existing user association; this operation does not create an unrestricted creator account. | string|null | Validation: UUID existing user only. |
creatorIdOptionalAuthorized creator-team owner for the reseller relationship; defaults to the reseller owner where configured. | string|null | Validation: UUID authorized owner; defaults reseller creator. |
memberTypeOptionalReseller relationship role; assigned capabilities and creator-team permissions remain separately enforced. | enum | Validation: owner | operator | finance | support | sub_creator. |
statusOptionalRequested supported lifecycle state; account and campaign approval rules still control publication and access. | enum | Validation: invited | pending | active | suspended | revoked. |
displayNameOptionalPublic display label for the member or contributor; it does not change account ownership. | string|null | Validation: 2–160. |
emailOptionalContact email used by the configured campaign or account workflow; never a credential granting access by itself. | string|null | Validation: email. |
phoneOptionalMember or applicant contact phone used by the existing account workflow. | string|null | Validation: 8–40. |
rolesOptionalReseller role assignments accepted by the member schema, separately limited by server permissions. | string[] | Validation: supported reseller roles. |
permissionsOptionalRequested supported capabilities, limited by the account policy and caller’s authorization. | string[] | Validation: supported reseller capabilities. |
otpRequiredOptionalControls the supported verification requirement for the resource; it does not bypass server eligibility checks. | boolean | Validation: default true. |
kycStatusOptionalAccount review state recorded for this reseller relationship; it does not independently authorize payments. | enum | Validation: not_required | pending | verified | rejected. |
metadataOptionalAdditional JSON metadata accepted by the documented schema; it never overrides authorization, prices or account ownership. | object | Validation: JSON object. |
Request
Examples describe the contract and are not executed. Use authorized test records; never paste a real secret into these pages.
POST /api/white-label/portal/reseller/members HTTP/1.1
Host: api.sparkglim.net
Authorization: Bearer <EXISTING_SESSION_TOKEN>
Content-Type: application/json
{
"displayName": "Example member",
"email": "member@example.com",
"memberType": "sub_creator",
"roles": [
"sub_creator"
],
"permissions": []
}Response
{
"success": true,
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"status": "pending"
}
}{
"success": false,
"error": "<ERROR_MESSAGE>"
}Validation, permissions, unavailable records and temporary service failures use the handler’s HTTP status and error payload.
Limits & retries
Default Server limit: 100 requests per IP per 60 seconds. Resource-specific controls also apply.
Source compatibility
Authorized operations require account-specific testing.
server/src/api/router.tsserver/src/api/routes/white-label.tsserver/src/white-label/reseller-service.tsserver/src/white-label/schemas.ts