Policies
The policy you issue on an approved application. Sorplos keeps its own policy number and yours side by side; yours is never reformatted.
| Endpoint | What it does |
|---|---|
| POST/applications/{id}/policy | Confirm a policy |
| GET/policies | List policies |
| GET/policies/{policy_number} | Retrieve a policy |
| POST/policies/{policy_number}/corrections | Correct a policy |
| POST/policies/{policy_number}/cancel | Cancel a policy |
Confirm a policy
POST/applications/{id}/policy
Issue the policy for an approved application. It becomes active, or scheduled if the start date is in the future, and the customer receives the documents. If the confirmed premium differs from what the customer paid, the policy is held for Sorplos review instead of going live.
Body
| Field | Type | Description |
|---|---|---|
| insurer_policy_numberrequired | string | Your policy number, stored exactly as sent (max 64 characters). |
| start_daterequired | date | YYYY-MM-DD. |
| expiry_daterequired | date | YYYY-MM-DD. |
| premium_confirmedrequired | number | The premium you are charging, in naira, including taxes. |
| policy_document_urlrequired | string | HTTPS link to the policy PDF, valid for at least 24 hours. Sorplos copies it. |
| regulatory_refs | object | References a regulator requires, e.g. { "niid": "…" } for motor. |
Sends policy.issued to your webhooks.
curl -X POST https://api-dev.sorplos.com/v1/partner-api/applications/SPL-APP-2026-045/policy \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: 5f0c2a8e-7d1b-4c3e-9a64-1b2d3e4f5a6b" \
-H "Content-Type: application/json" \
-d '{
"insurer_policy_number": "LWY/MTR/2026/004512",
"start_date": "2026-10-01",
"expiry_date": "2027-09-30",
"premium_confirmed": 376300,
"policy_document_url": "https://files.leadway.example/policies/004512.pdf?sig=…",
"regulatory_refs": {
"niid": "NIID-8847321"
}
}'{
"policy_number": "SPL-POL-2026-128",
"insurer_policy_number": "LWY/MTR/2026/004512",
"application_id": "SPL-APP-2026-045",
"status": "scheduled",
"version": 1,
"product": {
"sorplos_code": "MOTOR-COMP",
"provider_product_id": "PROV-MTR-001",
"name": "Comprehensive Motor",
"category": "motor"
},
"customer": {
"full_name": "Chidi Okonkwo"
},
"premium_paid": 376300,
"start_date": "2026-10-01",
"expiry_date": "2027-09-30",
"claims_track": "managed",
"regulatory_refs": {
"niid": "NIID-8847321"
},
"issued_at": "2026-09-14T11:40:00Z"
}List policies
GET/policies
Policies issued with your company.
Query parameters
| Field | Type | Description |
|---|---|---|
| status | string | scheduled | active | expired | cancelled | manual_review |
| page | integer | Page number, starting at 1. |
| per_page | integer | Items per page, 1–200. Defaults to 50. |
| updated_since | timestamp | Only records changed at or after this ISO-8601 time — use it to sync incrementally. |
curl -X GET https://api-dev.sorplos.com/v1/partner-api/policies?status=active \
-H "Authorization: Bearer sk_test_..."{
"data": [
{
"policy_number": "SPL-POL-2026-128",
"insurer_policy_number": "LWY/MTR/2026/004512",
"application_id": "SPL-APP-2026-045",
"status": "active",
"version": 1,
"product": {
"sorplos_code": "MOTOR-COMP",
"provider_product_id": "PROV-MTR-001",
"name": "Comprehensive Motor",
"category": "motor"
},
"customer": {
"full_name": "Chidi Okonkwo"
},
"premium_paid": 376300,
"start_date": "2026-10-01",
"expiry_date": "2027-09-30",
"claims_track": "managed",
"regulatory_refs": {
"niid": "NIID-8847321"
},
"issued_at": "2026-09-14T11:40:00Z"
}
],
"meta": {
"page": 1,
"per_page": 50,
"total": 1
}
}Retrieve a policy
GET/policies/{policy_number}
Look a policy up by its Sorplos policy number.
curl -X GET https://api-dev.sorplos.com/v1/partner-api/policies/SPL-POL-2026-128 \
-H "Authorization: Bearer sk_test_..."{
"policy_number": "SPL-POL-2026-128",
"insurer_policy_number": "LWY/MTR/2026/004512",
"application_id": "SPL-APP-2026-045",
"status": "scheduled",
"version": 1,
"product": {
"sorplos_code": "MOTOR-COMP",
"provider_product_id": "PROV-MTR-001",
"name": "Comprehensive Motor",
"category": "motor"
},
"customer": {
"full_name": "Chidi Okonkwo"
},
"premium_paid": 376300,
"start_date": "2026-10-01",
"expiry_date": "2027-09-30",
"claims_track": "managed",
"regulatory_refs": {
"niid": "NIID-8847321"
},
"issued_at": "2026-09-14T11:40:00Z"
}Correct a policy
POST/policies/{policy_number}/corrections
Change a confirmed policy — a corrected number, date or document. Nothing is overwritten: each correction creates a new version, and the history is kept.
Body
| Field | Type | Description |
|---|---|---|
| changesrequired | object | Any of insurer_policy_number, start_date, expiry_date, policy_document_url. |
| reasonrequired | string | Why the policy changed. |
Sends policy.corrected to your webhooks.
curl -X POST https://api-dev.sorplos.com/v1/partner-api/policies/SPL-POL-2026-128/corrections \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: 5f0c2a8e-7d1b-4c3e-9a64-1b2d3e4f5a6b" \
-H "Content-Type: application/json" \
-d '{
"changes": {
"expiry_date": "2027-10-01"
},
"reason": "Expiry date keyed one day early."
}'{
"policy_number": "SPL-POL-2026-128",
"insurer_policy_number": "LWY/MTR/2026/004512",
"application_id": "SPL-APP-2026-045",
"status": "scheduled",
"version": 2,
"product": {
"sorplos_code": "MOTOR-COMP",
"provider_product_id": "PROV-MTR-001",
"name": "Comprehensive Motor",
"category": "motor"
},
"customer": {
"full_name": "Chidi Okonkwo"
},
"premium_paid": 376300,
"start_date": "2026-10-01",
"expiry_date": "2027-10-01",
"claims_track": "managed",
"regulatory_refs": {
"niid": "NIID-8847321"
},
"issued_at": "2026-09-14T11:40:00Z"
}Cancel a policy
POST/policies/{policy_number}/cancel
Cancel a policy from a date, with any refund due to the customer.
Body
| Field | Type | Description |
|---|---|---|
| effective_daterequired | date | YYYY-MM-DD. |
| reasonrequired | string | Why the policy was cancelled. |
| refund_amount | number | Naira refunded to the customer, if any. |
Sends policy.cancelled to your webhooks.
curl -X POST https://api-dev.sorplos.com/v1/partner-api/policies/SPL-POL-2026-128/cancel \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: 5f0c2a8e-7d1b-4c3e-9a64-1b2d3e4f5a6b" \
-H "Content-Type: application/json" \
-d '{
"effective_date": "2027-03-01",
"reason": "Vehicle sold.",
"refund_amount": 125000
}'{
"policy_number": "SPL-POL-2026-128",
"insurer_policy_number": "LWY/MTR/2026/004512",
"application_id": "SPL-APP-2026-045",
"status": "cancelled",
"version": 1,
"product": {
"sorplos_code": "MOTOR-COMP",
"provider_product_id": "PROV-MTR-001",
"name": "Comprehensive Motor",
"category": "motor"
},
"customer": {
"full_name": "Chidi Okonkwo"
},
"premium_paid": 376300,
"start_date": "2026-10-01",
"expiry_date": "2027-09-30",
"claims_track": "managed",
"regulatory_refs": {
"niid": "NIID-8847321"
},
"issued_at": "2026-09-14T11:40:00Z"
}