Create Approval Policy API
Overview
Creates a corporate approval policy with configurable escalation rules and approval levels.
- Endpoint:
/api/approval-policies/create - Method:
POST - Access: Corporate Admin
Request Body Schema
| Field | Type | Required | Description |
|---|---|---|---|
companyId | String (UUID) | Yes | Target company ID |
name | String | Yes | Policy name |
travelType | Enum | No | FLIGHT, HOTEL, CAB, FOREX, INSURANCE |
maxLevels | Number | No | Max approval levels (1-5, Default: 3) |
autoApprovalLimit | Number | No | Default auto-approval threshold (Default: 7000.00) |
levels | Array | No | Level rules array |
Request Body Example
{
"companyId": "c478a846-993d-4c8d-bf8d-d77cb3370e01",
"name": "Standard Travel Policy",
"autoApprovalLimit": 7000,
"levels": [
{
"level": 1,
"roleRequired": "COMPANY_MANAGER",
"minAmount": 7001,
"maxAmount": 20000
},
{
"level": 2,
"roleRequired": "CORPORATE_ADMIN",
"minAmount": 20001
}
]
}
Success Response (201 Created)
{
"success": true,
"message": "Approval Policy created successfully",
"data": {
"id": "p123-uuid",
"name": "Standard Travel Policy",
"autoApprovalLimit": "7000.00",
"levels": [
{
"id": "pl1-uuid",
"level": 1,
"roleRequired": "COMPANY_MANAGER",
"minAmount": "7001.00",
"maxAmount": "20000.00"
}
]
}
}
Database Impact
- Tables:
approval_policies,approval_policy_levels - Operations: Transactional
INSERTintoapproval_policiesand level rows.