Rekina Partner API

Integrate Rekina's micro-loan and insurance application flow directly into your platform.

Base URL: 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.

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.

Keep your API key secret. Do not expose it in client-side code or public repositories.

Errors

HTTP CodeMeaning
400Bad request — missing or invalid field
401Missing or invalid API key
403API key lacks required scope
404Resource not found
405HTTP method not allowed
500Server error

Loans — List Providers loans

GET /loans/providers List active loan providers

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

POST /loans/applications Submit a loan application

Request body

FieldTypeRequiredDescription
provider_idstringrequiredID from /loans/providers
full_namestringrequiredApplicant full name
phonestringrequiredApplicant phone number
amount_requestedstringoptionale.g. "500000"
purposestringoptionalReason for the loan
form_dataobjectoptionalAnswers 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

GET /loans/applications List your submitted applications

Query parameters

ParamDescription
statusFilter by status: pending | processing | approved | rejected
pagePage number (50 per page). Default: 1

Loans — Get Application loans

GET /loans/application?id=<id> Get a single application and its status
{
  "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

GET /insurance/companies List active insurance companies
{
  "success": true,
  "data": [
    {
      "id": "eca8baa1-...",
      "name": "Jubilee Insurance",
      "description": "Agricultural and life insurance for farmers",
      "form_type": "internal"
    }
  ]
}

Insurance — Submit Application insurance

POST /insurance/applications Submit an insurance application

Request body

FieldTypeRequiredDescription
company_idstringrequiredID from /insurance/companies
full_namestringrequiredApplicant full name
phonestringrequiredApplicant phone number
coverage_typestringoptionale.g. "Crop Insurance"
premium_budgetstringoptionale.g. "50000"
purposestringoptionalAdditional notes
form_dataobjectoptionalAnswers to custom fields

Insurance — List Applications insurance

GET /insurance/applications List your submitted insurance applications

Same query parameters as the loans endpoint: status, page.

Insurance — Get Application insurance

GET /insurance/application?id=<id> Get a single insurance application and its status

Returns the same shape as the loans get-application response, with insurance-specific fields.

Application Statuses

StatusMeaning
pendingSubmitted and awaiting review by the Rekina team.
processingUnder review or being forwarded to the partner.
approvedApplication approved. Check admin_notes for next steps.
rejectedApplication 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.

Rekina Smart Farm · Partner API · For API keys contact api@rekinasmartfarm.com