REST /api/v1/claim-approvals 6 endpoints
GET /api/v1/claim-approvals/api/v1/claim-approvals

List approval decisions with export filtering (getApprovedClaimsForExport)

Public

Response Example

{
  "data": [
    {
      "approval_id": "apr_7g8h9i0j",
      "claim_id": "clm_9f2a3b4c",
      "coordinator_id": "usr_coord99",
      "decision": "approved",
      "comment": "All receipts verified.",
      "timestamp": "2026-03-21T11:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 18
  }
}
GET /api/v1/claim-approvals/api/v1/claim-approvals/:claim_id

Get approval decision for a specific claim (getDecision)

Public

Response Example

{
  "approval_id": "apr_7g8h9i0j",
  "claim_id": "clm_9f2a3b4c",
  "coordinator_id": "usr_coord99",
  "decision": "approved",
  "comment": "All receipts verified.",
  "timestamp": "2026-03-21T11:30:00Z"
}
POST /api/v1/claim-approvals/api/v1/claim-approvals

Save a coordinator approval decision (saveDecision)

Public

Request Example

{
  "claim_id": "clm_9f2a3b4c",
  "coordinator_id": "usr_coord99",
  "decision": "approved",
  "comment": "All receipts verified.",
  "timestamp": "2026-03-21T11:30:00Z"
}

Response Example

{
  "approval_id": "apr_7g8h9i0j",
  "claim_id": "clm_9f2a3b4c",
  "coordinator_id": "usr_coord99",
  "decision": "approved",
  "comment": "All receipts verified.",
  "timestamp": "2026-03-21T11:30:00Z"
}
PUT /api/v1/claim-approvals/api/v1/claim-approvals/:claim_id

Override or correct an approval decision

Public

Request Example

{
  "decision": "rejected",
  "comment": "Coordinator revised — original receipts missing.",
  "timestamp": "2026-03-22T09:00:00Z"
}

Response Example

{
  "approval_id": "apr_7g8h9i0j",
  "claim_id": "clm_9f2a3b4c",
  "decision": "rejected",
  "comment": "Coordinator revised — original receipts missing.",
  "timestamp": "2026-03-22T09:00:00Z"
}
DELETE /api/v1/claim-approvals/api/v1/claim-approvals/:claim_id

Delete an approval record (admin only)

Public

Response Example

{
  "deleted": true,
  "claim_id": "clm_9f2a3b4c"
}
GET /api/v1/claim-approvals/api/v1/claim-approvals/export

Export approved claims for payroll/accounting (getApprovedClaimsForExport)

Public

Response Example

{
  "export_id": "exp_a1b2c3d4",
  "organisation_id": "org_001",
  "date_range": {
    "from": "2026-03-01",
    "to": "2026-03-31"
  },
  "record_count": 18,
  "total_approved_amount": 87420.5,
  "download_url": "/api/v1/claim-approvals/export/exp_a1b2c3d4/file",
  "generated_at": "2026-03-26T08:00:00Z"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}