meta { name: Submit Salary Advance type: POST body: none } headers { Authorization: Bearer {{token}} X-Company-Id: {{company_uuid}} Accept: application/json } url: {{base_url}}/api/v1/payroll/salary-advances/{{advance_id}}/submit note: | Drafts only — 409 otherwise. With payroll_settings.advance_requires_approval = false the advance comes back already approved and no approval_requests row is written (meta.approval_required is false). Otherwise it moves to pending_approval and meta.approval_request_uuid carries the workflow request; the executor approves it once the chain completes.