Loan Repayment Guaranty Integration Guide¶
Product code: lrgg-stnd-1111
Covers loan repayment in the event the borrower becomes unable to repay due to death, disability, or critical illness. Primarily for lending platforms and microfinance institutions.
Integration Flow¶
Standard 4-step flow. Premium is calculated based on loan amount.
Step 1 — Get Premium Quote¶
curl -X POST https://octamile-api.azurewebsites.net \
-H "Content-Type: application/json" \
-d '{
"userInfo": {
"id": "YOUR_PARTNER_ID",
"athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
},
"cmmnd": {
"cmmnd": "dump ipck_lrgg-stnd-1111*PRMM",
"seed": {
"LoanAmount": 450000,
"LoanTenure": 12
}
}
}'
LoanAmount is the full loan principal in Naira. LoanTenure is the loan term in whole months (integer). Both are required in the quote seed — the premium is calculated from these values.
Type note: Both
LoanAmount(float) andLoanTenure(integer) must be numbers, not strings. Send450000and12, not"450000"and"12".
Response:
Step 2 — Register Consumer¶
{
"cmmnd": {
"cmmnd": "prfl entity",
"seed": {
"type": "s",
"class": "h",
"name": { "first": "Emeka", "last": "Obi" },
"gender": "m",
"dob": { "date": "1982-07-14" },
"addrss": { "addrss": "22 Adeola Odeku Street, Victoria Island, Lagos" },
"phoneNo": "+2348041234567",
"eMail": "emeka.obi@email.com"
}
}
}
Date of birth, gender, and address are required for this product (unlike goods-in-transit or device warranty).
Response: Returns id — store as consumer_id.
Step 3 — Request Policy¶
curl -X POST https://octamile-api.azurewebsites.net \
-H "Content-Type: application/json" \
-d '{
"userInfo": {
"id": "YOUR_PARTNER_ID",
"athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
},
"cmmnd": {
"cmmnd": "entt_{CONSUMER_ID}: insure",
"seed": {
"ctgry": "lrgg",
"type": "stnd",
"pckg": "1111",
"id": "YOUR_32_CHAR_TX_REF",
"addtnlFact": {
"LoanAmount": 450000,
"LoanTenure": 12,
"DsbrsmDate": "2024-03-20",
"LoanStartDate": "2024-03-20",
"LoanEndDate": "2025-03-20"
}
}
}
}'
Required Fields¶
| Field | Type | Description |
|---|---|---|
ctgry |
string | "lrgg" |
type |
string | "stnd" |
pckg |
string | "1111" |
id |
string | Your 32-char lowercase alphanumeric transaction ref |
addtnlFact.LoanAmount |
number (float) | Loan principal in Naira — e.g., 450000 |
addtnlFact.LoanTenure |
number (integer) | Loan term in whole months — e.g., 12 for one year |
addtnlFact.DsbrsmDate |
string | Date funds were disbursed — YYYY-MM-DD |
addtnlFact.LoanStartDate |
string | Cover start date — YYYY-MM-DD |
addtnlFact.LoanEndDate |
string | Cover end date — YYYY-MM-DD |
For Organisational Borrowers (Optional)¶
If the loan is to a company or organisation, include director details:
| Field | Type | Description |
|---|---|---|
addtnlFact.DrctrName |
string | Director's full name |
addtnlFact.DrctrDob |
string | Director's date of birth — YYYY-MM-DD |
Response:
Step 4 — Check Policy Status¶
curl -X POST https://octamile-api.azurewebsites.net \
-H "Content-Type: application/json" \
-d '{
"userInfo": {
"id": "YOUR_PARTNER_ID",
"athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
},
"cmmnd": {
"cmmnd": "dump entt_{CONSUMER_ID}|insr_lrgg-stnd-1111-{TX_ID}*STATUS"
}
}'
Status values¶
status |
Meaning | Next step |
|---|---|---|
"p" |
Pending — Octamile is reviewing and issuing the guaranty | Poll again; see timing note below |
"a" |
Approved — base64 certificate in response | Done |
"d" |
Declined — see statusNote for the reason |
Contact Octamile |
Loan guaranty issuance is a manual process. After the
insurerequest is accepted, Octamile reviews and issues the certificate within one business day.statuswill remain"p"until issued — do not expect instant approval. Poll every few minutes and notify the disbursement workflow asynchronously whenstatusbecomes"a".
Approved response:
{
"exctnFdbck": { "id": 75, "id_v4": 200 },
"status": "a",
"crtfct": "<base64-encoded-certificate>",
"crtfctType": "jpg"
}
Integration Timing¶
Purchase the guaranty at or before loan disbursement. Octamile recommends:
- Generate premium quote at loan approval.
- Collect premium as part of loan processing fees.
- Disburse loan.
- Immediately call Step 3 with the disbursement date.
Do not submit the policy request days after disbursement — the LoanStartDate must match the actual disbursement date.
Common Decline Reasons¶
| Issue | Likely cause | Fix |
|---|---|---|
| Loan amount mismatch | LoanAmount in Step 3 differs from Step 1 |
Always pass the same loan amount in both steps |
| Date discrepancy | LoanStartDate is after LoanEndDate |
Verify loan tenure calculation before submission |
| Consumer age | Borrower falls outside insurable age range | Contact Octamile support — age band eligibility may apply |
See also¶
- Error Reference — full list of error codes and fixes
- Webhooks — receive push notifications instead of polling
- Consumer Management — register and reuse consumer profiles