Company Onboarding
- API Endpoint:
POST /api/companies/create - Page Route:
/admin/companies - Component File:
src/features/companies/components/OnboardCompanyModal.tsx - Used For: Triggered when a Super Admin or Platform RM clicks the "+ Onboard New Company" button on the companies page. It submits the company details, custom employee bands, and the primary company admin account in a single request.
Where It Appears in the UI
- User navigates to
/admin/companies. - Clicks the "Onboard Company" button in the top right.
- The modal collects company profile info, dynamic bands, and admin user credentials.
- On submit, onboards the company and refreshes the company list.
React Usage Example
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { apiClient } from '@/lib/apiClient';
import { toast } from 'sonner';
export function useCreateCompany() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: async (payload: CreateCompanyPayload) => {
const { data } = await apiClient.post('/api/companies/create', payload);
return data;
},
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['companies'] });
toast.success('Company onboarded successfully!');
},
onError: (error) => {
toast.error('Failed to onboard company');
},
});
}