Skip to content

Life Insurance

This guide walks you through issuing life insurance policies using the Inshuwa API.

Every step below is runnable. Set your key once, fill in the request, press Try it out, and read the real response without leaving the page — see Running requests from the guide.

Set it once and every Try it out below is authenticated. It stays in this browser's local storage and is never sent anywhere but the API.

Choose your issuance flow

Life supports three of the four issuance flows.

Prepaid — Inshuwa collectsAccount-settled — PayLater / external
Quotation firstA. POST /quotations/life → issue with payment detailsC. POST /quotations/life → issue without them
Instant (one call)B. POST /policies/life/instant-issue

One issue endpoint, two flows

POST /policies/life/{quoteId}/issue covers both A and C. Send mobileMoneyAccountNumber or cardDetails and it initiates a collection — the policy is issued when the payment confirms. Omit them and your account's PayLater or external arrangement applies, and the policy is issued immediately.

POST /payments/{quoteId}/pay does the same thing as the payment-carrying form, so use one or the other — it is not a step before issuing.

Client registration, product selection, documents and renewal are shared by every flow.

Step 1: Register a Client

Create an individual policyholder. Keep the id from the response — it is the clientId when you create the quotation, and on the one-shot call.

Register the policyholder
Reference →
POST/policyholders/individuals

Playground

Authorization
Body

Step 2: Select a Product and Package

Each product contains packages with benefit tiers, coverage amounts, and premium rates. Note the packageId you want.

Browse life products
Reference →
GET/products/life

Playground

Authorization
Get one product's packages
Reference →
GET/products/life/{productId}

Playground

Authorization
Variables
Key
Value

Flow A / C: Quote, then issue

1. Create a quotation

Request body includes:

  • packageId — Selected package
  • clientId — Client's ID
  • startDate — Policy start date
  • policyHolder — Policyholder details
  • nextOfKin — Next of kin information
  • beneficiaries — List of beneficiaries
  • beneficiaryAddonAmmount — Additional beneficiary coverage amount

The response contains the quoteId.

1. Create a life quotation
Reference →
POST/quotations/life

Playground

Authorization
Body
Retrieve a quotation
Reference →
GET/quotations/{quoteId}/life

Playground

Authorization
Variables
Key
Value

2. Issue it

Send reference plus mobileMoneyAccountNumber or cardDetails for the prepaid path (flow A), or reference alone if your account settles externally (flow C).

2. Issue the policy
Reference →
POST/policies/life/{quoteId}/issue

Playground

Authorization
Variables
Key
Value
Body

3. Poll, if you paid through the gateway

On flow A the response is Pending until the payer approves on their handset. The policy is issued when the payment confirms, and the transaction status carries it.

3. Check payment status
Reference →
GET/payments/transactions/{reference}/status

Playground

Authorization
Variables
Key
Value

The generic POST /payments/{quoteId}/pay is an alternative to step 2 for the prepaid path — it also issues the policy on confirmation. Use one or the other.

Alternative: pay the quotation
Reference →
POST/payments/{quoteId}/pay

Playground

Authorization
Variables
Key
Value
Body

Flow B: Instant issue and pay (prepaid)

Quote, issue and initiate payment in a single call. clientId, packageId, startDate and reference are required.

Quote, issue and pay in one call
Reference →
POST/policies/life/instant-issue

Playground

Authorization
Body

One call, not instant settlement

The policy is created immediately but mobile money settles asynchronously. Poll GET /payments/transactions/{reference}/status or handle the webhook before you treat the sale as complete.


Policy Documents

Policy certificate
Reference →
GET/policies/life/{policyId}/certificate

Playground

Authorization
Variables
Key
Value

Policy Renewal

Renewal collects the premium in the same call.

Renew and pay the policy
Reference →
POST/policies/life/{quoteId}/renew/pay

Playground

Authorization
Variables
Key
Value
Body

View Life Policies

List life policies
Reference →
GET/policies/life

Playground

Authorization
Variables
Key
Value
Get one life policy
Reference →
GET/policies/life/{policyId}

Playground

Authorization
Variables
Key
Value

Built with ❤️ by Hobbiton Technologies