Troubleshooting Asset Requests and Approval
Summary
This page covers asset request and approval behavior. A request creates an asset in the Requested state. When the asset-approval workflow flag is off, approval is direct: approving in the UI moves the asset to Issued, and rejecting moves it to Rejected. When the flag is on, a workflow instance governs the asset, and a direct approve or reject while it is workflow-managed returns 409. There is no reservation or hold behavior in the model.
Audience
Support engineers and developers investigating stuck requests, unexpected 409 conflicts on approve or reject, or confusion about direct-versus-workflow approval.
Symptoms
- A request stays in the Requested state and does not advance.
- A direct approve or reject returns 409.
- A user expects a reservation or hold that never occurs.
- Approval outcomes differ between environments where the flag differs.
Cause
Scope
This page covers request creation and the direct-versus-workflow approval paths. The inbound callback mechanics are covered on the workflow-callbacks page.
Likely causes
- The asset-approval workflow flag is on, so the asset is workflow-managed and direct actions return 409 by design.
- The asset-approval workflow flag is off, so approval is direct and no workflow instance exists.
- A request was expected to reserve or hold the asset, but no reservation behavior exists.
- The approval action targeted the wrong path for the current flag state.
Resolution
Safe diagnostics
- Determine the asset-approval workflow flag state for the environment before interpreting approval behavior.
- If a direct action returned 409, confirm whether the asset is workflow-managed, which makes 409 the expected response.
- Confirm the asset's current status; a Requested asset under an off flag should respond to direct approve or reject.
- Do not expect reservation or hold semantics; treat Requested as a pending state, not a lock.
Validation
- Confirm that with the flag off, approve moves the asset to Issued and reject moves it to Rejected.
- Confirm that with the flag on, direct actions return 409 and progression occurs through the workflow path.
- Confirm the corresponding outbox rows exist for the transitions observed.
Evidence to Collect
- The workflow flag state for the environment.
- The action attempted and the response status.
- The asset's status before and after.
- A correlation identifier and timestamp.
Escalation
Route approval-path logic to the asset or backend team. Route workflow governance and instance behavior to the workflow owner. Route flag configuration questions to the gateway or platform owner where the flag is managed.
Source References
microservices/src/asset-service/Application/Commands/AssetCommands.csmicroservices/src/asset-service/Infrastructure/WorkflowServiceClient.csUI/salary-ui/apps/client-hrms-portal/src/pages/hr/HrOperationsPage.tsx
Related Articles
See Also
Keywords
request, approval, workflow flag, conflict, requested state
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly