Staff & Branches
Staff accounts, roles, and the branches they're assigned to. Staff authentication required for all of this except the self-service auth flows below.
Staff
GET /api/v1/staff/7/ — response data
{
"id": 7,
"user": 12,
"email": "jane@example.com",
"role": 2,
"role_name": "Manager",
"branches": [1, 2],
"branch_names": ["Nairobi CBD", "Westlands"],
"active_branch": 1,
"active_branch_name": "Nairobi CBD",
"company": 3,
"company_name": "Bellore Crafts",
"phone": "+254700000000",
"photo": null,
"is_active": true,
"email_verified": true,
"is_training_account": false
}Self-service auth endpoints
GET
/api/v1/staff/me/The logged-in staff account's own record.StaffPOST
/api/v1/staff/me/update/Update your own profile (phone/photo).StaffPOST
/api/v1/staff/me/switch-branch/Switch which branch you're currently acting in.StaffPOST
/api/v1/staff/me/password/Change your own password.StaffPOST
/api/v1/staff/google/Sign in with Google instead of email/password.PublicBranches & Roles
A Branch is id, name, code, phone, address, city, region, country, is_active. A Role is id, name, permissions, description — permissions is a list of permission-key strings (e.g. reports.view_financial) that gate what a staff member with that role can see and do.
/api/v1/branches/Physical business locations./api/v1/roles/Named permission sets assigned to staff.