Skip to main content

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

  1. User navigates to /admin/companies.
  2. Clicks the "Onboard Company" button in the top right.
  3. The modal collects company profile info, dynamic bands, and admin user credentials.
  4. 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');
},
});
}