7.4 KiB
7.4 KiB
Non-EB Claim API — Documentation
Base URL: /employeeRest/api/v1/non-eb-claim
Auth: Bearer JWT token via Authorization header (required on all endpoints)
Filter: ratelimit, authJWT
1. Create Claim
POST /create
Content-Type: multipart/form-data
Request Fields
| Field | Type | Required | Notes |
|---|---|---|---|
client_policy_id |
int | Yes | Must be active Non-EB or Marine policy |
nature_of_loss |
string | Yes | Min 3 chars |
loss_location |
string | Yes | |
loss_date |
string | Yes | Format: DD-MM-YYYY |
loss_description |
string | No | Required if asset_file is uploaded |
loss_estimate |
numeric | No | |
claim_number |
string | No | Alphanumeric, /, _, - only |
asset_file |
file | No | Allowed: pdf, xls, xlsx, csv |
asset_id_code[] |
array | No | Asset details |
serial_no[] |
array | No | |
vehicle_no[] |
array | No | |
asset_description[] |
array | No |
Response — 200
{
"status": true,
"code": 200,
"claim_id": 42,
"asset_file": "asset_20250315_abc123.pdf",
"message": "Non-EB Claim created successfully"
}
Error Responses
| Code | Reason |
|---|---|
| 400 | Validation failed |
| 404 | Client policy not found |
| 409 | Duplicate claim (same client + loss_date + policy_no) |
| 415 | Unsupported asset file type |
| 422 | Policy type not Non-EB/Marine, or no claim status configured |
| 500 | DB insert or file upload failed |
2. List Claims
POST /list
Content-Type: application/json
Request Body (all optional)
{
"page": 1,
"per_page": 20,
"client_id": 101,
"insurer_id": 5,
"policy_type_id": 50,
"claim_status_id": 3,
"claim_number": "CLM/2025",
"nhance_claim_ref_no": "NHC/NEB",
"date_type": "created_date",
"start_date": "01-01-2025",
"end_date": "31-03-2025",
"show_closed": false
}
date_type:"created_date"(default) or"updated_date"show_closed: if falsy, excludes Settled / Closed / Rejected / Withdrawn claims
Response — 200
{
"status": true,
"code": 200,
"total": 84,
"page": 1,
"per_page": 20,
"data": [
{
"id": 42,
"claim_number": "CLM/INS/2025/1234",
"nhance_claim_ref_no": "NHC/NEB/2025/00042",
"policy_no": "POL/MAR/2025/5678",
"policy_type_id": 50,
"claim_status_id": 3,
"status": "surveyor_assigned",
"status_display": "Surveyor Assigned",
"policy_type_name": "Marine Cargo",
"client_name": "Acme Logistics Pvt Ltd",
"insurer_name": "New India Assurance",
"loss_date": "2025-03-15",
"loss_location": "Chennai Port, Gate 3",
"nature_of_loss": "Fire and explosion damage to cargo",
"loss_estimate": "850000.00",
"insured_contact_name": "Ramesh Kumar",
"insured_contact_number": "9876543210",
"acm_name": "Priya Nair",
"created_date": "16-03-2025",
"updated_date": "20-03-2025"
}
]
}
Error Responses
| Code | Reason |
|---|---|
| 400 | Invalid JSON body |
3. Claim Detail + History
GET /history/{claim_id}
Response — 200
{
"status": true,
"code": 200,
"claim_id": 42,
"claims_data": {
"id": 42,
"nhance_claim_ref_no": "NHC/NEB/2025/00042",
"claim_number": "CLM/INS/2025/1234",
"policy_no": "POL/MAR/2025/5678",
"policy_type_name": "Marine Cargo",
"client_name": "Acme Logistics Pvt Ltd",
"branch_name": "Chennai Branch",
"insurer_name": "New India Assurance",
"claim_status": "surveyor_assigned",
"status_display_name": "Surveyor Assigned",
"insured_contact_name": "Ramesh Kumar",
"insured_contact_number": "9876543210",
"insured_contact_email": "ramesh@acmelogistics.com",
"nature_of_loss": "Fire and explosion damage to cargo",
"loss_location": "Chennai Port, Gate 3",
"loss_date": "2025-03-15",
"loss_description": "Fire broke out in warehouse bay during unloading",
"loss_estimate": "850000.00",
"loss_assessed_value": "720000.00",
"settled_amount": null,
"settlement_utr": null,
"intimation_recd_date": "2025-03-16",
"intimated_to_insurer_date": "2025-03-17",
"surveyor_name": "Suresh Inspection Services",
"surveyor_contact_person": "Suresh Babu",
"surveyor_contact_number": "9444123456",
"acm": "Priya Nair",
"acm_mobile": "9500011122",
"asset_file": "asset_20250315_abc123.pdf",
"priority": 1,
"created_at": "2025-03-16 10:30:00",
"updated_at": "2025-03-20 14:45:00"
},
"required_docs": {
"is_action_freeze": false,
"docs": [
{ "document_name": "Claim Form", "document_received": true },
{ "document_name": "Survey Report", "document_received": false },
{ "document_name": "Police FIR Copy", "document_received": false }
]
},
"claims_files": [
{
"id": 101,
"doc_name": "Claim Form",
"file_name": "claim_form_42_20250316.pdf",
"mime_type": "application/pdf",
"file_type": 2,
"docs_for_ir": 1,
"created_at": "2025-03-16 11:00:00"
}
],
"ticket_data": [
{ "status": "Claim Registered", "changed_at": "16-03-2025 10:30 AM" },
{ "status": "Intimated to Insurer", "changed_at": "17-03-2025 09:00 AM" },
{ "status": "Surveyor Assigned", "changed_at": "20-03-2025 02:45 PM" }
]
}
Error Responses
| Code | Reason |
|---|---|
| 404 | Claim not found or inactive |
4. Upload Required IR Documents
POST /upload-required-doc
Content-Type: multipart/form-data
Request Fields
| Field | Type | Required | Notes |
|---|---|---|---|
ticket_id |
integer | Yes | The non-EB claim (ticket) ID |
claim_docs[] |
file(s) | Yes | One or more files to upload |
claim_doc_names[] |
string[] | Yes | Name for each file — index-matched to claim_docs[] |
required_docs |
string (JSON) | Yes | Full updated checklist JSON to store (e.g. {"is_action_freeze":false,"docs":[...]}) |
Response — 200
{
"status": true,
"code": 200,
"message": "Files uploaded successfully"
}
Error Responses
| Code | Reason |
|---|---|
| 400 | No files uploaded or ticket_id missing |
| 401 | Missing / expired token |
| 500 | File upload or DB failed |
5. List Claim Statuses
GET /statuses
Response — 200
{
"status": true,
"code": 200,
"data": [
{ "id": 1, "claim_status": "claim_registered", "display_name": "Claim Registered" },
{ "id": 2, "claim_status": "intimated_to_insurer","display_name": "Intimated to Insurer" },
{ "id": 3, "claim_status": "surveyor_assigned", "display_name": "Surveyor Assigned" }
]
}
6. List Policies (Non-EB / Marine)
POST /policies
Content-Type: application/json
Request Body
{
"client_id": "5058f1af8388634f884bd49b13....",
"client_branch_id": 7
}
client_id— MD5 hash of the client's numeric ID
Response — 200
{
"status": true,
"code": 200,
"total": 3,
"data": [
{
"id": 88,
"policy_no": "POL/MAR/2025/5678",
"policy_type_id": 50,
"policy_type_name": "Marine Cargo",
"insurer_id": 5,
"insurer_name": "New India Assurance",
"insurer_short_name": "NIA",
"policy_start_date": "01-04-2025",
"policy_end_date": "31-03-2026"
}
]
}
Error Responses
| Code | Reason |
|---|---|
| 400 | Missing or invalid client_id / client_branch_id |
Common Auth Error (all endpoints)
{
"status": false,
"code": 401,
"message": "Unauthorized"
}