Rekina Partner API
Integrate Rekina's micro-loan and insurance application flow directly into your platform.
https://rekinasmartfarm.com/api/partner/
Overview
The Rekina Partner API lets banks and insurance companies submit and track applications from within their own systems. All API access is authenticated with a scoped API key issued by the Rekina team.
- All requests and responses are JSON.
- All responses include a
successboolean. - Successful responses include a
datafield. - Error responses include a
messageorerrorfield.
Authentication
Send your API key as a Bearer token in every request:
Authorization: Bearer <your_api_key>
API keys are scoped to specific services. A loans key cannot access insurance endpoints and vice versa. Contact the Rekina team to obtain a key.
Errors
| HTTP Code | Meaning |
|---|---|
400 | Bad request — missing or invalid field |
401 | Missing or invalid API key |
403 | API key lacks required scope |
404 | Resource not found |
405 | HTTP method not allowed |
500 | Server error |
Loans — List Providers loans
Returns the list of active loan providers your key can submit to.
Example response
{
"success": true,
"message": "OK",
"data": [
{
"id": "8d8f2777-...",
"name": "CRDB Bank",
"description": "Agricultural loans for smallholder farmers",
"form_type": "internal",
"interest_rate": "12% per annum",
"max_amount": "5,000,000 TZS",
"requirements": "National ID, Farm ownership proof"
}
]
}
Loans — Submit Application loans
Request body
| Field | Type | Required | Description |
|---|---|---|---|
provider_id | string | required | ID from /loans/providers |
full_name | string | required | Applicant full name |
phone | string | required | Applicant phone number |
amount_requested | string | optional | e.g. "500000" |
purpose | string | optional | Reason for the loan |
form_data | object | optional | Answers to custom fields defined by the provider |
Example request
POST /api/partner/loans/applications
Authorization: Bearer <key>
Content-Type: application/json
{
"provider_id": "8d8f2777-...",
"full_name": "Amina Juma",
"phone": "0712345678",
"amount_requested": "500000",
"purpose": "Purchase fertiliser for maize season",
"form_data": {
"farm_size": "2 acres",
"id_number": "19XXXXXXXX"
}
}
Example response
{
"success": true,
"message": "Application submitted.",
"data": { "application_id": "a1b2c3d4-..." }
}
Loans — List Applications loans
Query parameters
| Param | Description |
|---|---|
status | Filter by status: pending | processing | approved | rejected |
page | Page number (50 per page). Default: 1 |
Loans — Get Application loans
{
"success": true,
"data": {
"id": "a1b2c3d4-...",
"full_name": "Amina Juma",
"phone": "0712345678",
"amount_requested": "500000",
"status": "approved",
"admin_notes": "Approved. Disbursement within 3 business days.",
"provider_name": "CRDB Bank",
"created_at": "2026-05-11T08:30:00Z",
"updated_at": "2026-05-12T14:00:00Z"
}
}
Insurance — List Companies insurance
{
"success": true,
"data": [
{
"id": "eca8baa1-...",
"name": "Jubilee Insurance",
"description": "Agricultural and life insurance for farmers",
"form_type": "internal"
}
]
}
Insurance — Submit Application insurance
Request body
| Field | Type | Required | Description |
|---|---|---|---|
company_id | string | required | ID from /insurance/companies |
full_name | string | required | Applicant full name |
phone | string | required | Applicant phone number |
coverage_type | string | optional | e.g. "Crop Insurance" |
premium_budget | string | optional | e.g. "50000" |
purpose | string | optional | Additional notes |
form_data | object | optional | Answers to custom fields |
Insurance — List Applications insurance
Same query parameters as the loans endpoint: status, page.
Insurance — Get Application insurance
Returns the same shape as the loans get-application response, with insurance-specific fields.
Application Statuses
| Status | Meaning |
|---|---|
| pending | Submitted and awaiting review by the Rekina team. |
| processing | Under review or being forwarded to the partner. |
| approved | Application approved. Check admin_notes for next steps. |
| rejected | Application rejected. Check admin_notes for reason. |
Webhooks Coming soon
Webhook support for real-time status change notifications is planned. Contact the Rekina team to be notified when it launches.