Skip to main content

Create Endorsement

Create an endorsement to add or remove an employee from a policy. Endorsements are processed asynchronously — the response returns identifiers you can use to track the workflow.

Asynchronous workflow

Endorsements go through an approval lifecycle: PENDINGSENT_TO_INSURERAPPROVED (or REJECTED).

Endpoint

POST /v1/policy/endorsements

Request

Headers

HeaderValue
Content-Typeapplication/json
AuthorizationBearer YOUR_ACCESS_TOKEN

Body

{
"employee_id": "ba_emp_01jwz3k...",
"policy_id": "ba_pol_01k...",
"type": "ADDITION | DELETION",
"coverage_start_date": "2024-07-01",
"coverage_end_date": "2024-07-31",
"sum_insured": 300000
}

Top-level Fields

FieldTypeRequiredDescription
employee_idstringYesBizzAssure internal employee ID (from Create Employee)
policy_idstringNoBizzAssure internal policy ID. Omit to use routing logic to assign a policy
typestringYesADDITION to enrol an employee, DELETION to remove
coverage_start_datestringYesCoverage start date (YYYY-MM-DD)
coverage_end_datestringYesCoverage end date (YYYY-MM-DD)
sum_insurednumberNoSum insured for this employee (INR). If omitted, the policy default will be used. Only applies to ADDITION

Response

Success (200 OK)

{
"payload": {
"endorsement_id": "ba_end_01k...",
"message": "Endorsement workflow started successfully",
"success": true
}
}

Response Fields

FieldTypeDescription
endorsement_idstringID of the endorsement record created to track the status of the endorsement
messagestringHuman-readable result message
successbooleantrue if the workflow was started successfully

Endorsement Lifecycle

Once submitted, the endorsement moves through the following statuses:

StatusDescription
ENDORSEMENT_STATUS_PENDINGWorkflow started, awaiting review
ENDORSEMENT_STATUS_SENT_TO_INSURERSubmitted to the insurer for processing
ENDORSEMENT_STATUS_APPROVEDApproved by the insurer
ENDORSEMENT_STATUS_REJECTEDRejected by the insurer
ENDORSEMENT_STATUS_CANCELLEDCancelled

Error Responses

Missing Details (400 Bad Request)

{
"type": "MISSING_ADDITION_DETAILS",
"title": "Missing addition details",
"detail": "Addition details are required for addition endorsements",
"instance": "/v1/policy/ba_pol_01k/endorsements"
}

Invalid Type (400 Bad Request)

{
"type": "INVALID_ENDORSEMENT_TYPE",
"title": "Invalid endorsement type",
"detail": "Endorsement type must be ADDITION, DELETION, or MODIFICATION",
"instance": "/v1/policy/ba_pol_01k/endorsements"
}

Policy Not Found (404)

{
"type": "NOT_FOUND",
"title": "Policy Not Found",
"detail": "No active policy found with the given ID",
"instance": "/v1/policy/ba_pol_01k/endorsements"
}

Unauthorized (401)

{
"type": "UNAUTHORIZED",
"title": "Unauthorized",
"detail": "Missing or invalid access token",
"instance": "/v1/policy/ba_pol_01k/endorsements"
}