Claim Approval Repository
API Contract
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"
}