Skip to main content

Platform Misc

", "/api/public/job-openings", "/api/public/job-applications"); } @Bean public GroupedOpenApi crmApi() { return group("crm", "/api/crm"); } @Bean public GroupedOpenApi inventoryAndPortalApi() { return group("inventory-and-portal", "/api/inventory", "/api/portal"); } Commercial and multi-tenant platform surface: subscriptions, provider webhooks, tenant administration, and the unauthenticated signup and widget endpoints that support them.

Controllers6
Endpoints32
Tables17
Screens18
API reference/api/ — group platform-misc
OpenAPI spec/openapi/platform-misc.json

URL prefixes​

Endpoints belong to this module by URL, exactly as the OpenAPI group defines it in backend/src/main/java/com/motorph/payroll/config/OpenApiConfiguration.java.

  • /api/notifications/**
  • /api/conversations/**
  • /api/reports/**
  • /api/saved-views/**
  • /api/user-nav-preference/**
  • /api/company-profile/**

Controllers​

ControllerBase pathEndpointsGETPOSTPUTPATCHDELETE
CompanyProfileController/api/company-profile21—1——
ConversationController/api/conversations541———
NotificationController/api/notifications31——2—
ReportingController/api/reports1616————
SavedViewController/api/saved-views311——1
UserNavPreferenceController/api/user-nav-preference31—1—1

Across the module: 24 GET, 2 POST, 2 PUT, 2 PATCH, 2 DELETE.

Tables​

Everything this module's controllers can reach through a repository, including through a shared service — so this is the upper bound of what the module touches, not the set of tables it owns. A table appearing under two modules means two modules can read it.

EntityTableColumnsTenant-scoped
Bonusbonus8Yes
ChatMessagemessages4Yes
CompanyProfilecompany_profile20Yes
Conversationconversation4Yes
Employeeemployee24Yes
InterviewScheduleinterview_schedule6Yes
JobApplicantjob_applicant12Yes
JobOfferjob_offer24Yes
JobOpeningjob_opening11Yes
JobRequisitionjob_requisition7Yes
Notificationnotifications5Yes
PayrollSettingspayroll_settings71Yes
Payslippayslip52Yes
SavedViewsaved_view8Yes
Userusers11—
UserNavPreferenceuser_nav_preference3Yes
WithholdingTaxBracketwithholding_tax_brackets7—

Screens​

Frontend routes gated by a permission this module's endpoints also require — the link between a page and its API is the permission string, not the URL.

RouteComponentRequires
/employeesEmployeeshr.employees.view
/government-formsGovernmentFormshr.employees.manage or payroll.manage
/holiday-calendarHolidayCalendarpayroll.holidays.manage or payroll.manage
/hr-analyticsHrAnalyticshr.dashboard.view
/interview-schedulesInterviewScheduleshr.recruitment.view
/job-applicantsJobApplicantshr.recruitment.view
/job-offersJobOffershr.recruitment.view
/job-openingsJobOpeningshr.recruitment.view
/job-requisitionsJobRequisitionshr.recruitment.view
/leave-requestsLeaveRequestshr.leave.requests.view
/messagesMessagesemployee.messages.view
/notificationsMyNotificationsemployee.notifications.view
/overtime-requestsOvertimeRequestshr.overtime.requests.view or payroll.overtime.approve
/payroll-analyticsPayrollAnalyticspayroll.dashboard.view or payroll.manage or payroll.approve
/payroll-runsPayrollRunspayroll.dashboard.view or payroll.manage or payroll.approve
/payroll-runs/:idPayrollRunDetailpayroll.dashboard.view or payroll.manage or payroll.approve
/recruitment-analyticsRecruitmentAnalyticshr.recruitment.view
/reimbursement-requestsReimbursementRequestspayroll.reimbursement.manage

Generated page

This page is rebuilt from the source on every docs build by docs-site/scripts/gen-code-wiki.mjs. Editing it has no effect — change the code, or, if what you want to say is prose, write it in docs/.