These endpoints live on the internal API (
/api/v1) and authenticate with a dashboard
JWT (Authorization: Bearer ...), not an API key. Only the provider admin account
(role service_provider with sub-role sp_admin or none) may manage staff. All operations
are scoped to your own provider — other providers’ users are never visible.Endpoints
Sub-roles
Validsp_role values: sp_admin, support, sales, bookkeeping. Invited users are
always created with role service_provider under your service_provider_id — there is no
admin or cross-provider escalation path.
POST /api/v1/provider/users/invite
Response — 201 Created
Error codes
GET /provider/users returns a bare list of user summaries; POST /{user_id}/resend-invite returns {"ok": true}. The password-set link (…/reset-password?token=…) is emailed asynchronously, fire-and-forget.