Draft v0.1. The Partner API is being built. Endpoints and payloads may still change until sandbox access opens.

Policies

The policy you issue on an approved application. Sorplos keeps its own policy number and yours side by side; yours is never reformatted.

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

FieldTypeDescription
insurer_policy_numberrequiredstringYour policy number, stored exactly as sent (max 64 characters).
start_daterequireddateYYYY-MM-DD.
expiry_daterequireddateYYYY-MM-DD.
premium_confirmedrequirednumberThe premium you are charging, in naira, including taxes.
policy_document_urlrequiredstringHTTPS link to the policy PDF, valid for at least 24 hours. Sorplos copies it.
regulatory_refsobjectReferences a regulator requires, e.g. { "niid": "…" } for motor.

Sends policy.issued to your webhooks.

Request
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"
  }
}'
Response
{
  "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

FieldTypeDescription
statusstringscheduled | active | expired | cancelled | manual_review
pageintegerPage number, starting at 1.
per_pageintegerItems per page, 1–200. Defaults to 50.
updated_sincetimestampOnly records changed at or after this ISO-8601 time — use it to sync incrementally.
Request
curl -X GET https://api-dev.sorplos.com/v1/partner-api/policies?status=active \
  -H "Authorization: Bearer sk_test_..."
Response
{
  "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.

Request
curl -X GET https://api-dev.sorplos.com/v1/partner-api/policies/SPL-POL-2026-128 \
  -H "Authorization: Bearer sk_test_..."
Response
{
  "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

FieldTypeDescription
changesrequiredobjectAny of insurer_policy_number, start_date, expiry_date, policy_document_url.
reasonrequiredstringWhy the policy changed.

Sends policy.corrected to your webhooks.

Request
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."
}'
Response
{
  "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

FieldTypeDescription
effective_daterequireddateYYYY-MM-DD.
reasonrequiredstringWhy the policy was cancelled.
refund_amountnumberNaira refunded to the customer, if any.

Sends policy.cancelled to your webhooks.

Request
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
}'
Response
{
  "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"
}