Skip to content

Changelog

All notable changes to the Octamile AIMS API are recorded here in reverse chronological order.

Labels: Breaking changes require updates to your integration. New adds functionality without breaking existing integrations. Fixed corrects incorrect behaviour.


2026-07-06

Policy issuance response now returns the transaction reference — New

Affected: Policy issuance (entt_{id}: insure).

The response now includes an id field containing the stored transaction reference — the same UUID you need to construct the status check command.

{ "exctnFdbck": { "id": 75, "id_v4": 200 }, "id": "550e8400-e29b-41d4-a716-446655440000" }

Use id directly when building your status check command:

dump entt_{CONSUMER_ID}|insr_{PRODUCT_CODE}-{id from issuance response}*STATUS

Previously the response body was empty on success, requiring you to track seed.id yourself. Existing integrations are unaffected — the field is additive.


2026-07-02

Credit Life Insurance — New

Four Credit Life products are now available:

Product Code
SME Loan Credit Life crlt-sme1-1111
Personal Loan Credit Life crlt-psnl-1111
Keyman Insurance crlt-kymn-1111
Mortgage Protection crlt-mrtg-1111

All four follow the standard four-step flow (register consumer → quote → issue → check status). See the Credit Life Insurance Guide for field references and cover period options.


Loan Repayment Guaranty quote — Fixed

Affected: SR10 (dump ipck_lrgg-stnd-1111*PRMM).

Requesting a quote for lrgg-stnd-1111 was incorrectly returning 400. Fixed — quotes work as expected.


2026-06-12

PayCover — premium financing commands — New

Three new commands are available for partners offering installment-based premium collection:

  • payment financeLoan — register a financing loan against an issued policy; include loanAmount, installmentCount, firstDueDate in the seed
  • payment recordInstallment — log an installment payment received against an active loan
  • payment runLapse — SuperAdmin only: lapse policies where installments are overdue

Additionally, SR15 now auto-registers a financing loan when the financing block is included in the issuance seed:

"financing": {
  "installmentKobo": 5000000,
  "installmentCount": 12,
  "firstDueDate": "2026-07-01"
}

VIN vehicle check — New

New enrichment command: enrch vin_vehicle

Decodes a 17-character Vehicle Identification Number (VIN) and returns make, model, year, body class, and fuel type via the NHTSA database. No per-call billing — free for all partners.

"cmmnd": { "cmmnd": "enrch vin_vehicle", "seed": { "vin": "1HGBH41JXMN109186" } }

See the VIN Vehicle Check Guide for the full response reference.


2026-05-09

NIID vehicle check — New

New enrichment command: enrch niid_vehicle

Returns registration details for a Nigerian plate number — owner name, vehicle make and model, insurance status, and expiry date — from the NIID (Nigerian Insurance Industry Database).

Billed at ₦150 per call. Repeat lookups on the same plate within 24 hours are cached and free. The service must be activated on your partner account before use — contact support to enable it.

See the NIID Vehicle Check Guide for the full request and response reference.


2026-06-18

Claims management — New

Partners can now submit and track insurance claims directly via the API. Three new commands are available to all partners:

  • claim submit — file a FNOL against any policy you have issued (identified by irId from list insure)
  • claim status — retrieve full claim detail including attached documents and review notes
  • claim list — paginated list of all claims on your account, with optional status filter

See the Claims Management Guide for the full field reference.


Webhooks — dashboard management and delivery logs — New

Webhook endpoints can now be created, paused, and deleted directly from the Webhooks page in the partner dashboard, without using the API. The delivery log shows every outbound attempt with HTTP status and response body — useful for debugging failed deliveries. Dead deliveries can be retried from the dashboard.

No changes to the API commands (webhook register, webhook update, webhook delete, webhook list) or payload format.


2026-05-13

Travel Insurance — destination now required in Step 1 quote — Breaking

Affected: SR10 (dump ipck_ltix-stnd-1111*PRMM).

destination (the destination country name) is now a required field in the Step 1 quote seed. The coverage zone (Schengen / Area 1 / Area 2) is derived automatically from the destination — the travelPlan field is no longer needed in the quote call.

"seed": {
  "insrncDrtn": "15d",
  "destination": "France",
  "planType": "individual",
  "travelerAge": 35
}

Omitting destination returns:

{ "exctnFdbck": { "id_v4": 406, "elbrtn": "Data cmmnd.seed.destination not provided" } }

Migration: Add destination to your SR10 seed. Remove travelPlan from the quote — it is ignored.


Travel Insurance — family plan support — New

Affected: SR10 and SR15 — ltix-stnd-1111.

planType: "family" is now supported. Family plans cover the primary traveler plus any number of additional travelers listed in a passengers array. Each passenger requires firstName, lastName, dob, and passportNo. See the Travel Insurance Guide for the full request format and field reference.


Travel Insurance — supported destination list — New

Affected: SR10 and SR15 — ltix-stnd-1111.

Destinations are now validated against a fixed list of countries supported by the underwriter. Passing a country not on the list returns:

{ "exctnFdbck": { "id_v4": 406, "elbrtn": "Destination country not recognised: Belarus" } }

The full list of supported countries is in the Travel Insurance Guide.


2026-05-08

eMail now required for all consumers — Breaking

Affected: SR05 (prfl entity) — all consumer classes (individual and organisation).

eMail is now a required field. Omitting it returns:

{ "exctnFdbck": { "id_v4": 406, "elbrtn": "Data cmmnd.seed.eMail is required" } }

Migration: If you have existing consumers without an email on record, call prfl entity again with the same phoneNo and a valid eMail — the record updates in place.


Cover period validation enforced — Breaking

Affected: SR15 (entt_{id}: insure) — all products with insrncDrtn.

Previously, any syntactically valid duration string (e.g. 5m) was accepted even if the product only supports 1y. Invalid cover periods now return:

{ "exctnFdbck": { "id_v4": 406, "elbrtn": "Cover period not one of those supported by this product" } }

Migration: Ensure insrncDrtn matches the supported values listed in each product guide. For example, Third-Party Vehicle (vhcl-tprt-1111) accepts only "1y".


Consumer DOB and gender now validated before NSIA policy issuance — Fixed

Affected: SR15 — vhcl-cmpr-1111, vhcl-tprt-1111, allr-stnd-1111, firb-stnd-1111.

Attempting to issue an NSIA policy for a consumer registered without a date of birth or gender now returns a 406 before the request is stored, with a message directing you to update the consumer via prfl entity.


2026-05-05

phoneNo now required for individual consumers — Breaking

Affected: SR05 (prfl entity) — class: "individual" and class: "h".

phoneNo became a required field for individual consumers. Organisation consumers are not affected.


Marine Export (mexx-stnd-1111) voyage field must be objects — Breaking

Affected: SR15 — mexx-stnd-1111.

addtnlFact.voyage must be an array of objects with exactly one key each ("origin" or "destination"). Plain string arrays are rejected with 400.

Correct format:

"voyage": [
  { "origin": "Apapa Port, Lagos, Nigeria" },
  { "destination": "Tema Port, Accra, Ghana" }
]

2026-05-01

Device Warranty policies auto-approve with policy number — New

Affected: SR15 — phnn-flx1-1111, phnn-flx2-1111, phnn-flx3-1111.

PHNN products now auto-approve immediately on issuance. SR20 returns a policyNo in the format OCT-PHNN-YYYYMMDD-XXXXXXXX. No cert download is available — display the policy number as the certificate reference.


2026-04-29

SR05 consumer registration is now idempotent by email — New

Affected: SR05 (prfl entity).

Registering a consumer with an email address that already exists in your account returns the existing consumer ID rather than creating a duplicate. This allows safe retry behaviour without accumulating duplicate records.


SR20 response fields moved to top level — Breaking

Affected: SR20 (dump entt_*STATUS).

All response fields (status, certUrl, policyNo, crtfct, crtfctType) are now returned at the top level of the response, not nested inside exctnFdbck. Update any code that reads res.exctnFdbck.sngl.status to read res.status instead.

New response shape:

{
  "status": "a",
  "certUrl": "https://...",
  "policyNo": "OCT-PHNN-20260429-ABCD1234"
}