Forms
Each form is built from one or more sections. The title on each section must be one of these values (case-insensitive on input; stored as uppercase):
PERSONAL
Individual applicant details (name, BVN, email, phone, etc.)
CORPORATE
Business / company details
LOAN
Loan amount, purpose, tenure
CREDIT
Credit bureau selection and consent
ADDRESS
Residential or business address
DOCUMENTS
File uploads and supporting documents
IDCARD
Identity document capture and verification
Used for: applicationType: INDIVIDUAL
Purpose: Captures the individual applicant's identity and contact details. BVN validation, face match, and credit bureau checks pull data from here.
CORPORATE.
Used for: applicationType: CORPORATE.
Purpose: Captures business/company information. CAC validation and corporate credit checks read from here.
LOAN
Used for: All forms (section is mandatory)
Purpose: Captures the loan request details. Used for workflow routing, offer letters, and auto-decision DTI calculations.
CREDIT
Used for: Both individual and corporate
Purpose: Credit bureau consent and bureau selection. Triggers credit checks on final submission.
ADDRESS
Used for: Both (often separate from homeAddress in PERSONAL)
Purpose: Structured residential or business address with optional proof-of-address upload.
DOCUMENTS
Used for: Both
Purpose: Supporting document uploads (payslips, bank statements, CAC documents, etc.). Each file is reviewed individually during application review.
IDCARD
Used for: Both
Purpose: Identity document capture and verification (passport, NIN, driver's license). Triggers ID verification API on submit.
Create forms
Field description
1
name
Form display name
string
2
formSlug
URL slug (kebab-case of name; unique per org)
string
3
description
Form description
string
4
productId
Linked loan product ID
UUID
5
applicationType
INDIVIDUAL or CORPORATE
enum
6
repaymentInstruction
MIDA_COLLECT_PAYGATE, PAYSTACK, or REMITTA
enum
7
submissionType
USER_LED and/or AGENT_LED
string []
8
sections
At least one section (see sections below)
array
9
isPublished
Publish immediately on create (default: false)
boolean
10
enableOfferLetter
Enable offer letter (default: false)
boolean
11
enableAutoDecision
Enable auto-decisioning (default: false)
boolean
12
expiryDate
Must be a future date if provided
ISO date
13
loanOfficerId
Assigned loan officer user ID
string
14
offerLetterName
Inline offer letter name (required if enableOfferLetter is checked)
string
15
templateHtml
Inline offer letter HTML
string
16
templateVariables
Variables used in the template
string[]
17
attachOfferLetterId
Attach an existing offer letter instead
UUID
18
attachDecisionMatrixId
Attach an existing decision matrix
UUID
API Url
Sample
Update loan form
Send only fields to update (same shape as create, all optional).
Publish / unpublish
Sample
formId
UUID
Form to publish or unpublish
isPublished
boolean
true to publish, false to unpublish (default: false)
Last updated