1 operation. Every schema and example on this page is generated from the platform contract.
Merchant views everyone with access to the store, the owner plus any scoped staff, each with their fine-grained permission grants (manage classes, process payments, view reports, and so on). Owners are flagged and hold every permission implicitly. Gated on the gym-management entitlement.
Store whose staff to list (also authorises the merchant).
curl -G "https://www.membber.com/api/v1/staff/permissions" \
-H "Authorization: Bearer $MEMBBER_TOKEN" \
--data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"import { createMembberClient } from "@membber/sdk-ts";
const membber = createMembberClient({
getAccessToken: () => process.env.MEMBBER_TOKEN,
});
const { data, error } = await membber.raw.GET("/api/v1/staff/permissions", {
params: { query: { store_id: "6659c139-0000-4000-8000-d0c500000066" } },
});
if (error) {
// Typed error envelope: { error: { code, message, requestId } }
throw new Error(`${error.error.code}: ${error.error.message}`);
}
console.log(data);import MembberSwift
let client = MembberClient(
serverURL: MembberClient.productionServerURL,
tokenProvider: { session.accessToken }
)
let response = try await client.api.listStaffPermissions(
query: .init(storeId: "6659c139-0000-4000-8000-d0c500000066")
).ok.body.json
print(response){
"staff": [
{
"user_id": "f73aee0f-0000-4000-8000-d0c5000000f7",
"email": "alex@example.com",
"full_name": "Alex Example",
"permissions": {
"can_manage_classes": true,
"can_manage_memberships": true,
"can_process_payments": true,
"can_waive_penalties": true,
"can_override_booking": true,
"can_view_reports": true,
"can_manage_staff": true,
"can_manage_events": true,
"can_manage_config": true,
"can_message_customers": true
},
"is_owner": true,
"has_explicit_grants": true
}
]
}