Partner - Institutions

Onboarding

Create a SACCO under your partner, then configure withdrawals.

Overview

Start here. code and name are required. Optionally link a core-banking externalOrgId, create a settlement wallet, and invite the first staff user in the same call.

  • Institution-scoped staff cannot create new SACCOs
  • Duplicate code or externalOrgId returns 409
https://api.rukapay.net/partner-institutions

Response example

JSON
{
  "success": true,
  "data": [
    {
      "id": "inst_abc123",
      "code": "NAMASUBA",
      "name": "Namasuba SACCO",
      "status": "ACTIVE",
      "externalOrgId": "12",
      "settlementMode": "NEXEN_LEDGER"
    }
  ]
}

Status codes

200

OK

Request succeeded.

401

Unauthorized

Missing or invalid x-api-key.

403

Forbidden

Partner or role cannot perform this action.

https://api.rukapay.net/partner-institutions

Request body

codeRequired
string

Unique SACCO code (e.g. NAMASUBA).

nameRequired
string

Display name.

externalOrgId
string

Core-banking org id (e.g. Nexen).

licenseNumber
string

Alphanumeric license number.

settlementMode
string

Default NEXEN_LEDGER.

createSettlementWallet
boolean

Create settlement wallet (default true).

createInitialStaffLogin
boolean

Invite first staff user.

initialStaffEmail
string

Required if createInitialStaffLogin is true.

initialStaffPhone
string

Required if createInitialStaffLogin is true.

initialStaffRole
string

OWNER | ADMIN | OPERATOR | VIEWER.

Request example

JSON
{
  "code": "NAMASUBA",
  "name": "Namasuba SACCO",
  "externalOrgId": "12",
  "createSettlementWallet": true,
  "createInitialStaffLogin": true,
  "initialStaffEmail": "admin@namasuba.ug",
  "initialStaffPhone": "+256701234567",
  "initialStaffFirstName": "Jane",
  "initialStaffLastName": "Doe",
  "initialStaffRole": "OWNER"
}

Response example

JSON
{
  "success": true,
  "data": {
    "id": "inst_abc123",
    "code": "NAMASUBA",
    "name": "Namasuba SACCO",
    "status": "ACTIVE"
  }
}

Status codes

201

Created

SACCO created.

409

Conflict

Duplicate code or externalOrgId.

401

Unauthorized

Missing or invalid x-api-key.

403

Forbidden

Partner or role cannot perform this action.

https://api.rukapay.net/partner-institutions/{institutionId}/withdrawal-settings

Path parameters

institutionIdRequired
string

SACCO id from create/list.

Request body

enabled
boolean

Master switch for withdrawals.

savings
boolean

Allow savings withdrawals.

shares
boolean

Allow shares withdrawals.

Request example

JSON
{
  "enabled": true,
  "savings": true,
  "shares": false
}

Status codes

200

OK

Request succeeded.

401

Unauthorized

Missing or invalid x-api-key.

403

Forbidden

Partner or role cannot perform this action.