Compatibility Payslip APIs
Summary
Two compatibility operations expose period/employee salary detail; one negotiates JSON versus PDF using the request Accept header.
Audience
Frontend and backend developers, QA and support engineers, architects, security reviewers, and implementation partners.
Reference Content
Authentication: bearer context is expected for business APIs; service-local enforcement Requires confirmation. Authorization: no endpoint-specific Payroll Service role policy is confirmed. Maturity: Compatibility / Transitional.
| Operation | Method and public route | Purpose | Authentication | Tenant context | Request type | Response type | Success | Maturity | Source path |
|---|---|---|---|---|---|---|---|---|---|
| Compatibility Payroll payslip | GET /api/payroll/payslip | Return compatibility JSON or PDF for employee and period. | Bearer expected by the compatibility contract; downstream enforcement Requires confirmation | Forwarded tenant context expected; no tenant query parameter | Query parameters and optional Accept header | Anonymous detail JSON or PDF file | 200 | Compatibility | microservices/src/payroll-service/Api/PayrollCompatEndpoints.cs |
| Compatibility salary slip | GET /api/salary/slip | Return a saved compatibility salary row. | Bearer expected by the compatibility contract; downstream enforcement Requires confirmation | Forwarded tenant context expected; no tenant query parameter | Query parameters | Anonymous compatibility salary row | 200 | Compatibility | microservices/src/payroll-service/Api/PayrollCompatEndpoints.cs |
Compatibility Payroll payslip
- API family / maturity: Compatibility Payslip APIs; Compatibility
- Authentication / authorization: Bearer expected by the compatibility contract; downstream enforcement Requires confirmation. No endpoint-specific role policy is confirmed.
- Tenant context: Forwarded tenant context expected; no tenant query parameter.
- Route parameters: None.
- Query parameters: Required
laborId,month,year. - Request body / type: Optional
Accept: application/pdfselects PDF; Query parameters and optional Accept header. - Validation: Only checks stated in the error mapping below are confirmed; model-binding failures are framework behavior and not specified as a stable contract.
- Response body / type: Anonymous detail JSON or PDF file.
- Success / error responses: 200; 404 raw text when detail is absent; PDF path also requires a Frozen run.
- Business behavior: Return compatibility JSON or PDF for employee and period.
- State and input implications: JSON read does not persist a payslip; PDF delegates to native generation/persistence. No input projection changes.
- Audit and event implications: PDF path persists native payslip-generation audit. PDF path stages payslip-generated event.
- Compatibility notes: Monolith-shaped compatibility contract.
- Safe example:
GET /api/payroll/payslip?laborId={employeeRef}&month=7&year=2026→200detail JSON; with PDF Accept header →200 application/pdf - Example error:
"Request could not be completed."(illustrative raw compatibility wording)
Compatibility salary slip
- API family / maturity: Compatibility Payslip APIs; Compatibility
- Authentication / authorization: Bearer expected by the compatibility contract; downstream enforcement Requires confirmation. No endpoint-specific role policy is confirmed.
- Tenant context: Forwarded tenant context expected; no tenant query parameter.
- Route parameters: None.
- Query parameters: Required
laborId,month,year. - Request body / type: None; Query parameters.
- Validation: Only checks stated in the error mapping below are confirmed; model-binding failures are framework behavior and not specified as a stable contract.
- Response body / type: Anonymous compatibility salary row.
- Success / error responses: 200; 404 raw text when no saved row exists.
- Business behavior: Return a saved compatibility salary row.
- State and input implications: Read-only. No input projection changes.
- Audit and event implications: No audit side effect confirmed. No event produced.
- Compatibility notes: Monolith-shaped compatibility contract.
- Safe example:
GET /api/salary/slip?laborId={employeeRef}&month=7&year=2026→200salary metadata; missing →404raw text - Example error:
"Request could not be completed."(illustrative raw compatibility wording)
Family-level findings
Employee-self and Payroll-administrator authorization is not encoded on these Payroll Service routes and Requires confirmation. JSON compatibility retrieval is not the same as native structured-payslip persistence. No payslip history/version endpoint exists.
Source References
microservices/src/payroll-service/Api/PayrollCompatEndpoints.csmicroservices/src/payroll-service/Application/PayrollCompatService.csmicroservices/src/payroll-service/Application/PayrollOutputsService.csControllers/PayrollController.csControllers/SalaryController.cs
Related Articles
See Also
Keywords
- Payroll API
- Compatibility Payslip APIs
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly