List team members
/v1/merchant/teamReturns every team member with status in active or pending. Revoked members are excluded. Sorted by role, then creation time. Authenticated with a JWT Bearer token and team:read permission.
When a member is assigned to a custom role, role is null and custom_role is populated. When assigned to a built-in role, the reverse: role carries the enum, custom_role is null.
Response
200dataarray<TeamMember>Team members.
idstringMember user ID.
emailstringMember email.
first_namestringFirst name (empty for invite-only pending members).
last_namestringLast name (empty for invite-only pending members).
roleenum<'owner' | 'admin' | 'developer' | 'finance' | 'support'> | nullBuilt-in role, or `null` when the member is on a custom role.
custom_roleobject | nullCustom role assignment, or `null` when on a built-in role.
idstringCustom role ID.
namestringCustom role name.
statusenum<'active' | 'pending'>Membership status.
two_factor_enabledbooleanWhether the member has 2FA on.
invited_atstring | nullISO-8601 of when the invite was issued.
last_login_atstring | nullISO-8601 of the last successful login.
created_atstringISO-8601 of when the user row was created.
Errors
INVALID_TOKEN401JWT missing, expired, or invalid.FORBIDDEN403Caller lacks the team:read permission.