Authoritative Endpoint Catalog
Summary
This is the exclusive method/route inventory for Epic 14.3. Each verified operation appears once. Specialized pages explain behavior without creating competing inventories.
Audience
Developers, QA, support, security reviewers, and solution architects.
Reference Content
The tables below are the verified, exclusive lifecycle endpoint inventory.
Reading the catalog
Optional authentication means the host can parse a credential but the endpoint does not require one. Selected means compatibility routing changes the implementation and security behavior. Context tenant enforcement means the extracted tenant resolver and filtered repositories are used. Token-derived identifies public capability-link lookup, not user authentication.
Recruitment host foundation — 3 operations
| Method | Route | Purpose | Authentication | Authorization | Tenant | Validation | Response | Compatibility | Source |
|---|---|---|---|---|---|---|---|---|---|
| GET | / | Service information | None required | None | None | None | 200 envelope | Native host | shared-kernel/Extensions/EndpointRouteBuilderExtensions.cs |
| GET | /health | Process health | None required | None | None | None | Health result | Native host | recruitment-service/Program.cs |
| GET | /recruitment/health-data | Tenant entity counts including onboarding | Optional | None | Context required | Tenant presence | 200 summary | Native | recruitment-service/Api/RecruitmentEndpoints.cs |
Native and public Recruitment lifecycle — 9 operations
| Method | Route | Purpose | Authentication | Authorization | Tenant | Validation | Response | Compatibility | Source |
|---|---|---|---|---|---|---|---|---|---|
| GET | /recruitment/onboarding | List onboarding projections | Optional | None | Context required | Tenant presence | 200 list | Native | recruitment-service/Api/RecruitmentEndpoints.cs |
| GET | /recruitment/reports/joining | Get joining-status totals | Optional | None | Context required | Tenant presence | 200 report | Native | recruitment-service/Api/RecruitmentEndpoints.cs |
| POST | /recruitment/candidates/{id:guid}/join | Complete from candidate and accepted offer | Optional | None | Context required | Accepted offer, aggregate rules | 200 onboarding; 400/404/409 | Native | recruitment-service/Api/RecruitmentEndpoints.cs |
| POST | /recruitment/offers/{id:guid}/accept | Accept an internal offer | Optional | None | Context required | Offer existence and state | 200 offer; 404/409 | Native | recruitment-service/Api/RecruitmentEndpoints.cs |
| POST | /recruitment/offers/{id:guid}/move-to-onboarding | Create or reuse onboarding | Optional | None | Context required | Accepted offer | 200 onboarding; 404/409 | Native | recruitment-service/Api/RecruitmentEndpoints.cs |
| PATCH | /recruitment/onboarding/{id:guid}/status | Change or complete onboarding | Optional | None | Context required | Status parsing, terminal state, employee handoff | 200 onboarding; 400/404/409 | Native | recruitment-service/Api/RecruitmentEndpoints.cs |
| GET | /recruitment/public/offers/{token} | Read a public offer | None required | Capability link | Token-derived | Link lookup | 200 public offer; 404 | Native public | recruitment-service/Api/RecruitmentPublicEndpoints.cs |
| POST | /recruitment/public/offers/{token}/accept | Accept through public link | None required | Capability link | Token-derived | Link and offer state | 200 offer; 404/409 | Native public | recruitment-service/Api/RecruitmentPublicEndpoints.cs |
| POST | /recruitment/public/offers/{token}/reject | Reject through public link | None required | Capability link | Token-derived | Required reason and state | 200 offer; 400/404/409 | Native public | recruitment-service/Api/RecruitmentPublicEndpoints.cs |
Gateway-selected compatibility lifecycle — 8 operations
| Method | Route | Purpose | Authentication | Authorization | Tenant | Validation | Response | Compatibility | Source |
|---|---|---|---|---|---|---|---|---|---|
| GET | /api/hr-suite/recruitment/workspace | Portal workspace including onboarding | Selected | Monolith access check; none extracted | Claim/filter or context | Tenant/access availability | 200 workspace | Transitional | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
| PATCH | /api/hr-suite/recruitment/offers/{id:int}/status | Update compatibility offer status | Selected | Monolith access check; none extracted | Claim/filter or context | Record and normalized state | 200 record; 400/404 | Transitional | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
| POST | /api/hr-suite/recruitment/offers/{id:int}/move-to-onboarding | Start compatibility onboarding | Selected | Monolith access check; none extracted | Claim/filter or context | Accepted offer and candidate | 200 message; 400/404/409 | Transitional | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
| GET | /api/hr-suite/recruitment/public/offers/{token} | Read compatibility public offer | None required | Capability link | Token-derived | Link lookup | 200 offer; 404 | Transitional public | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
| POST | /api/hr-suite/recruitment/public/offers/{token}/sign | Accept compatibility public offer | None required | Capability link | Token-derived | Link and offer state | 200 message; 404/409 | Transitional public | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
| POST | /api/hr-suite/recruitment/public/offers/{token}/reject | Reject compatibility public offer | None required | Capability link | Token-derived | Required reason and state | 200 message; 400/404/409 | Transitional public | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
| PATCH | /api/hr-suite/recruitment/onboarding/{id:int}/status | Update compatibility onboarding status | Selected | Monolith access check; none extracted | Claim/filter or context | Status and completion restriction | 200 record; 400/404/409 | Transitional | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
| POST | /api/hr-suite/recruitment/onboarding/{id:int}/complete | Complete and initialize workforce profile | Selected | Monolith access check; none extracted | Claim/filter or context | Linked records and path-specific rules | 200 completion result; 400/404/409 | Transitional | RecruitmentCompatEndpoints.cs; Controllers/RecruitmentController.cs |
Monolith HR Operations lifecycle — 13 operations
| Method | Route | Purpose | Authentication | Authorization | Tenant | Validation | Response | Compatibility | Source |
|---|---|---|---|---|---|---|---|---|---|
| GET | /api/hr-operations/workspace | Read generic tasks and exit records | Required | Visibility and role scope | Claims and filters | Current user | 200 workspace; 401/403 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/onboarding | Create or update generic onboarding task | Required | Management permission | User tenant validation | Employee and task required | 200 task; 400/403 | Foundation | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit-requests | Create self exit request | Required | Self-service permission or employee role | Current user tenant | Reason, dates, active-request rule | 200 exit; 400/403 | Monolith | Controllers/HrOperationsController.cs |
| GET | /api/hr-operations/exit-requests/my | List current user's exits | Required | Self-view/create permission or employee role | Current user and filters | Current user | 200 list; 403 | Monolith | Controllers/HrOperationsController.cs |
| GET | /api/hr-operations/exit-requests/pending | List visible pending exits | Required | Workforce visibility scope | Visible-user set and filters | Current user | 200 list; 403 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit-requests/{id:int}/approve | Manager/admin approval | Required | Approval scope | Filters and target scope | Record state and decision date | 200 exit; 400/403/404 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit-requests/{id:int}/reject | Manager/admin rejection | Required | Rejection scope | Filters and target scope | Reason and record state | 200 exit; 400/403/404 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit-requests/{id:int}/rollback | Request self rollback | Required | Rollback permission or employee role | Current-user ownership | State and last-working-date rule | 200 exit; 400/403/404 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit-requests/{id:int}/rollback/approve | Approve rollback | Required | Rollback approval scope | Filters and target scope | Rollback-pending state | 200 exit; 400/403/404 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit-requests/{id:int}/rollback/reject | Reject rollback | Required | Rollback approval scope | Filters and target scope | Reason and rollback-pending state | 200 exit; 400/403/404 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit-requests/process-access-revoke | Process eligible access revokes | Required | Revoke permission or administrator role | Tenant filters | Eligibility date and state query | 200 processed count; 403 | Monolith | Controllers/HrOperationsController.cs |
| GET | /api/hr-operations/exit-requests/pending-access-revoke | List eligible access revokes | Required | Revoke permission or administrator role | Visible-user set and filters | Eligibility date and state query | 200 list; 403 | Monolith | Controllers/HrOperationsController.cs |
| POST | /api/hr-operations/exit | Legacy save/update exit record | Required | Self or approver visibility | Target user tenant validation | Employee and path-specific state | 200 exit; 400/403 | Legacy monolith | Controllers/HrOperationsController.cs |
Outbound Employee Service handoff — 2 operations
| Method | Route | Purpose | Authentication | Authorization | Tenant | Validation | Response | Compatibility | Source |
|---|---|---|---|---|---|---|---|---|---|
| POST | /employee/employees | Create extracted Employee record | None forwarded | None required at direct group | Tenant request context | Employee command validators | 201 envelope; 400/409 | Outbound dependency | recruitment-service/Infrastructure/EmployeeServiceClient.cs; employee-service/Api/EmployeeDirectEndpoints.cs |
| GET | /employee/employees?code={code}&pageSize=1 | Resolve create conflict/idempotent retry | None forwarded | None required at direct group | Tenant request context | Query parsing | 200 search envelope | Outbound dependency | recruitment-service/Infrastructure/EmployeeServiceClient.cs; employee-service/Api/EmployeeDirectEndpoints.cs |
Adjacent workflow boundary — 1 operation
| Method | Route | Purpose | Authentication | Authorization | Tenant | Validation | Response | Compatibility | Source |
|---|---|---|---|---|---|---|---|---|---|
| POST | /recruitment/workflow/callback | Apply requisition approval result; not lifecycle orchestration | Optional | None | Context required | Callback result, subject, requisition | 200 requisition; 400/404 | Adjacent native | recruitment-service/Api/RecruitmentEndpoints.cs |
Requires confirmation
- Whether direct native and Employee operations are network-restricted in every deployment.
- Whether the legacy generic exit save operation remains supported.
- Whether the workspace route owner can be changed by other extraction toggles in a deployed gateway configuration.
Source References
microservices/src/recruitment-service/Program.csmicroservices/src/recruitment-service/Api/RecruitmentEndpoints.csmicroservices/src/recruitment-service/Api/RecruitmentPublicEndpoints.csmicroservices/src/recruitment-service/Api/RecruitmentCompatEndpoints.csControllers/RecruitmentController.csControllers/HrOperationsController.csmicroservices/src/recruitment-service/Infrastructure/EmployeeServiceClient.csmicroservices/src/employee-service/Api/EmployeeDirectEndpoints.cs
Related Articles
See Also
Keywords
- Endpoint inventory
- Method and route
- API ownership
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Review cycle: Quarterly