API Documentation
Overview
The Member Management API provides comprehensive team member management capabilities for the Bee O'clock platform. This API handles member registration, profile management, role assignments, service assignments, and team administration within business contexts.
Base URL
{baseUrl}/api/v1/memberAuthentication
All endpoints require authentication via:
Bearer Token: Firebase JWT token in Authorization header
Business Tenant ID: Required in
x-business-tenant-idheader for tenant isolation
API Endpoints
1. Get Paginated Members
Endpoint: GET /member/paged
Description: Retrieves a paginated list of team members with search and filtering capabilities.
Request Parameters:
Query Parameters:
page(optional): Page number starting from 1pageSize(optional): Number of items per page (1-100)search(optional): Search in firstName, lastName, emailrole(optional): Filter by role (ADMIN, SPECIALIST, RECEPTION)profileStatus(optional): Filter by status (active, inactive, pending)sortBy(optional): Field to sort bysortDirection(optional): Sort direction
Response:
Example Request:
Example Response:
2. Get Member by ID
Endpoint: GET /member/:id
Description: Retrieves detailed information for a specific team member.
Path Parameters:
id(required): Member ID (ObjectId format)
Response:
Example Request:
Example Response:
3. Create New Member
Endpoint: POST /member
Description: Creates a new team member and sends invitation.
Request Body:
Response:
Validation Rules:
email: Required, valid email format, unique within businessfirstNameorlastName: At least one is recommendedrole: Must be valid role enum valuephone: Valid phone format if provided
Example Request:
Example Response:
4. Update Member
Endpoint: PUT /member/:memberId
Description: Updates an existing team member's information.
Path Parameters:
memberId(required): Member ID to update
Request Body:
Response:
Business Rules:
Email must remain unique within business if changed
Role changes require appropriate permissions
Cannot update email to existing member's email
Profile status changes affect member access
Example Request:
Example Response:
5. Update Member Service Assignments
Endpoint: PATCH /member/:memberId/assignments
Description: Updates service assignments for a team member.
Path Parameters:
memberId(required): Member ID to update assignments
Request Body:
Response:
Assignment Rules:
full: true: Member can provide all business servicesfull: false: Member can only provide services inincludearrayEmpty
includearray withfull: falsemeans no service assignmentsService references must exist and belong to the business
Example Request:
Example Response:
6. Delete Member
Endpoint: DELETE /member/:memberId
Description: Soft deletes a team member (marks as deleted while preserving data).
Path Parameters:
memberId(required): Member ID to delete
Response:
Business Rules:
Performs soft delete (preserves historical data)
Member cannot delete themselves
Requires DELETE_MEMBER permission
Checks for active orders before deletion
Maintains audit trail of deletion
Deletion Validations:
Self-deletion protection: Members cannot delete themselves
Active orders check: Cannot delete members with pending/active orders
Permission validation: Requires appropriate deletion permissions
Role validation: May have restrictions based on member role
Example Request:
Example Response:
Member Media Management
7. Upload Member Avatar
Endpoint: POST /member-media/:memberId/avatar
Description: Uploads or updates a member's profile avatar image.
Path Parameters:
memberId(required): Member ID for avatar upload
Request Body:
Response:
File Requirements:
Formats: JPG, JPEG, PNG, WebP
Size: Maximum 5MB
Dimensions: Recommended 400x400px (will be auto-resized)
Example Request:
Example Response:
8. Delete Member Avatar
Endpoint: DELETE /member-media/:memberId/avatar
Description: Removes a member's profile avatar image.
Path Parameters:
memberId(required): Member ID for avatar deletion
Response:
Example Request:
Example Response:
Data Transfer Objects
MemberDto
AssignmentsDto
MemberPaginationDto
Enumerations
RoleEnum
MemberProfileStatusEnum
LanguageCodeEnum
Permission Requirements
All member management endpoints require appropriate permissions:
Required Permissions
Get Members
READ_MEMBER
View member information
Create Member
CREATE_MEMBER
Add new team members
Update Member
EDIT_MEMBER
Modify member details
Delete Member
DELETE_MEMBER
Remove team members
Manage Assignments
ASSIGN_SERVICES
Update service assignments
Upload Avatar
EDIT_MEMBER
Manage member media
Permission Scopes
OWN: Can only access own member data
ANY: Can access all members within the business
ADMIN: Full administrative access
Error Responses
Standard Error Format
Common Error Responses
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
409 Conflict
422 Unprocessable Entity
Member-Specific Errors
Member Not Found
Email Already Exists
Cannot Delete Self
Has Active Orders
Tariff Plan Limit Reached
Rate Limiting
API endpoints are rate-limited to prevent abuse:
General endpoints: 100 requests per minute per IP
File upload endpoints: 10 requests per minute per user
Bulk operations: 5 requests per minute per user
Rate limit headers are included in responses:
Caching
Member data is cached for performance optimization:
Member details: Cached for 5 minutes
Member lists: Cached for 1 minute
Search results: Cached for 3 minutes
Cache headers indicate freshness:
API Versioning
The API uses URL-based versioning:
Current version:
/api/v1/Version format:
v{major}Backward compatibility maintained within major versions
Integration Examples
JavaScript/TypeScript Client
cURL Examples
Best Practices
API Usage Guidelines
Pagination: Always use pagination for member lists to avoid performance issues
Caching: Implement client-side caching with appropriate TTL
Error Handling: Handle all error responses gracefully
Rate Limiting: Respect rate limits and implement exponential backoff
Validation: Validate data on client side before API calls
Security Considerations
Token Management: Secure storage and rotation of authentication tokens
HTTPS Only: Always use HTTPS in production environments
Input Validation: Validate and sanitize all inputs
Tenant Isolation: Always include tenant ID header
Permission Checking: Verify user permissions before UI actions
Performance Optimization
Selective Loading: Only request needed fields using field selection
Batch Operations: Group related API calls when possible
Lazy Loading: Load member details on demand
Image Optimization: Compress avatar images before upload
Connection Pooling: Reuse HTTP connections for multiple requests
For additional information about member management workflows and business logic, see the Use Case Documentation and Interface Documentation.
Last updated
Was this helpful?