API DTO Catalog
Summary
This inventory records verified transport and application DTOs used by lifecycle operations. Field groups are summarized to avoid publishing credential examples, personal values, or internal identifiers.
Audience
Developers, QA, support, security reviewers, and solution architects.
Reference Content
The following tables inventory the verified lifecycle transport and application contracts.
Native Recruitment DTOs
| DTO | Direction | Purpose and field groups | Validation | Source |
|---|---|---|---|---|
AcceptOfferInput | Request | Signer and signature text | State validation in command; signer can default | recruitment-service/Application/Dtos.cs |
RejectOfferInput | Request | Rejection reason | Public rejection requires non-empty reason; domain state rules | recruitment-service/Application/Dtos.cs |
OnboardingStatusInput | Request | Status and notes | Flexible enum parsing and aggregate transition rules | recruitment-service/Application/Dtos.cs |
OfferDto | Response | Offer identity, candidate, compensation, status, joining/signing data | Projection only | recruitment-service/Application/Dtos.cs |
PublicOfferDto | Response | Reduced public offer projection | Projection only | recruitment-service/Application/Dtos.cs |
OnboardingDto | Response | Candidate/offer, joining, status, created workforce references, login readiness | Projection only | recruitment-service/Application/Dtos.cs |
JoiningReportDto | Response | Lifecycle status totals | Query aggregation | recruitment-service/Application/Dtos.cs |
Compatibility DTOs
| DTO | Direction | Purpose and field groups | Validation | Source |
|---|---|---|---|---|
OfferStatusDto | Request | Compatibility status | Normalization/command rules; no dedicated validator | recruitment-service/Application/Compatibility/CompatContracts.cs |
OfferSignDto | Request | Public signer and signature | Translated to native acceptance | Same source |
OfferRejectDto | Request | Public rejection reason | Required by rejection command | Same source |
OnboardingStatusDto | Request | Compatibility status and notes | Completed is rejected on status operation | Same source |
CompleteOnboardingDto | Request | Employee/contact/joining, organization, role, login-bootstrap, compensation, banking, identity, address, and notes groups | Path-specific; extracted adapter consumes only a subset | Same source and Controllers/RecruitmentController.cs |
RecordResponse and metadata records | Response | Monolith-shaped Recruitment records | Projection only | recruitment-service/Application/Compatibility/CompatContracts.cs |
| Compatibility completion anonymous object | Response | Completion message and workforce/login readiness data | Constructed after completion | recruitment-service/Application/Compatibility/CompatCommands.cs |
HR Operations DTOs and entity-shaped contracts
| Contract | Direction | Purpose and field groups | Validation | Source |
|---|---|---|---|---|
ExitRequestDto | Request | Resignation/last-working dates and reason | Server derives resignation date; reason/date/active-request checks | Controllers/HrOperationsController.cs |
ExitDecisionDto | Request | Confirmed date, reason, remarks | Action-specific state and required-reason checks | Same source |
OnboardingTask | Request/response | Employee, task, owner, category, due date, status, notes | Employee/task and tenant checks | Models/OnboardingTask.cs |
ExitRequest | Legacy request and response | Full exit record | Controller applies path-specific sanitization/state rules | Models/ExitRequest.cs |
| Workspace anonymous object | Response | Visible tasks and exit records with other HR Operations data | Query projection | Controllers/HrOperationsController.cs |
| Access-revoke anonymous object | Response | Processed record count | Derived from eligible selection | Same source |
Employee handoff contracts
| Contract | Direction | Purpose and field groups | Validation | Source |
|---|---|---|---|---|
| Recruitment anonymous create body | Outbound request | Employee code, names, contact, organization, manager, and employment | Employee Service command validators | recruitment-service/Infrastructure/EmployeeServiceClient.cs |
EmployeeCreateHttpRequest | Inbound Employee request | Employee and employment fields | Create-command async validator | employee-service/Api/EmployeeDirectEndpoints.cs |
Private Envelope, EmployeeData, SearchData | Outbound response binding | Created or searched employee data | HTTP/client parsing only | recruitment-service/Infrastructure/EmployeeServiceClient.cs |
Workflow callback DTO
RecruitmentWorkflowCallbackRequest is inbound and contains workflow/requisition correlation, subject, terminal result, and reason. Command validation accepts approved/completed or rejected results and validates subject and target resolution. It is not an onboarding/offboarding DTO.
Sensitive contract concern
Compatibility completion accepts and returns login-bootstrap material on legacy-shaped paths. Actual values are never reproduced here. The extracted implementation may generate response material even though it does not create a login, which requires security and product review.
Requires confirmation
- Contract ownership and compatibility deprecation rules.
- Whether entity-shaped HR Operations inputs should be replaced with dedicated request DTOs.
- Whether sensitive completion response fields should remain in a public-facing contract.
- Machine-readable schema and nullability guarantees.
Source References
microservices/src/recruitment-service/Application/Dtos.csmicroservices/src/recruitment-service/Application/Compatibility/CompatContracts.csmicroservices/src/recruitment-service/Application/Compatibility/CompatCommands.csmicroservices/src/recruitment-service/Application/WorkflowIntegration.csmicroservices/src/recruitment-service/Infrastructure/EmployeeServiceClient.csmicroservices/src/employee-service/Api/EmployeeDirectEndpoints.csControllers/RecruitmentController.csControllers/HrOperationsController.csModels/OnboardingTask.csModels/ExitRequest.cs
Related Articles
See Also
Keywords
- DTO inventory
- Compatibility contract
- Entity-shaped request
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Review cycle: Quarterly