Skip to main content
Once you have an access token (see Authentication), use it to list the investment plans (“funds”) your partner account is configured to offer.
GET /api/v3/partners/{shortName}/plans

Path parameters

ParameterDescription
shortNameYour partner short name, included in your onboarding email.
You can only ever list your own plans — the API checks that shortName matches the partner identified by your access token and returns 403 Forbidden if it doesn’t.

Request

curl https://be-dev-1.dev.ndovu.co/api/v3/partners/YOUR_SHORT_NAME/plans \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Query parameters

All filters are optional. Omit them to get every plan available to your partner account.
ParameterTypeDescription
categoryIdnumberFilter to a single plan category.
fundTypestringFilter by fund type.
currencystringFilter by currency, e.g. KES, USD.
This endpoint is not paginated — it returns the full matching list in one response.

Response

{
  "message": "Plans fetched successfully",
  "data": {
    "total": 2,
    "plans": [
      {
        "id": 101,
        "identifier": "ndovu-money-market",
        "name": "Ndovu Money Market Fund",
        "coolName": "Money Market",
        "about": "A low-risk fund investing in short-term government securities.",
        "hint": "Great for short-term savings goals.",
        "imageUrl": "https://cdn.ndovu.co/plans/money-market.png",
        "thumbnail": "https://cdn.ndovu.co/plans/money-market-thumb.png",
        "sector": "Money Market",
        "fundType": "MONEY_MARKET",
        "profitType": "VARIABLE",
        "profitTypeDescription": "Returns vary based on market performance.",
        "performance1": 12.4,
        "performance3": 11.8,
        "performance5": 10.9,
        "performance10": null,
        "performanceDate": "2026-06-30",
        "currency": "USD",
        "minInvestableAmounts": { "USD": 10 },
        "minTopUpAmounts": { "USD": 5 },
        "tenor": "Open-ended",
        "lockInPeriod": 0,
        "partialWithdrawable": true,
        "factSheet": "https://cdn.ndovu.co/plans/money-market-factsheet.pdf",
        "prospectus": "https://cdn.ndovu.co/plans/money-market-prospectus.pdf",
        "isInvestable": true,
        "nonInvestableNote": null,
        "category": { "id": 1, "name": "money_market", "displayName": "Money Market", "tagLine": "Low risk, steady returns" },
        "planType": { "id": 1, "name": "Fund" },
        "productRiskLevel": { "id": 1, "name": "Low" },
        "fundManager": { "id": 3, "name": "Ndovu Asset Managers" },
        "fundCurrency": { "currency": "USD" }
      }
    ]
  }
}

Fields

FieldTypeDescription
idnumberInternal plan ID.
identifierstringStable machine-readable identifier for the plan.
namestringFormal plan name.
coolNamestringShort, friendly display name — prefer this in user-facing UI.
aboutstringLonger description of the plan.
hintstringShort marketing tagline.
imageUrl / thumbnailstringPlan artwork.
sectorstringSector the fund invests in.
fundTypestringFund type classification.
profitType / profitTypeDescriptionstringHow returns are generated.
performance1 / performance3 / performance5 / performance10number | nullAnnualized returns over 1/3/5/10 years, where available.
performanceDatestringAs-of date for the performance figures.
currencystringPlan’s base currency.
minInvestableAmountsobjectMinimum initial investment, keyed by currency.
minTopUpAmountsobjectMinimum top-up amount, keyed by currency.
tenorstringInvestment term.
lockInPeriodnumberLock-in period in days (0 if none).
partialWithdrawablebooleanWhether partial withdrawals are allowed.
factSheet / prospectusstringLinks to legal/informational documents.
isInvestablebooleanWhether the plan currently accepts new investment.
nonInvestableNotestring | nullExplanation shown when isInvestable is false.
categoryobject | nullPlan category (id, name, displayName, tagLine).
planTypeobject | nullPlan type (id, name).
productRiskLevelobject | nullRisk rating (id, name).
fundManagerobject | nullManaging entity (id, name).
fundCurrencyobject | nullFund’s operating currency.

Which plans show up here

The plans returned are scoped to the country configured on your partner account — every partner in the same country sees the same catalog. If you expect a plan to appear and it doesn’t, it likely isn’t marked viewable for your country yet; contact support@ndovu.co.

Errors

StatusCause
401 UnauthorizedMissing, expired, or invalid access token. Re-authenticate via Authentication.
403 ForbiddenshortName in the URL doesn’t match the partner identified by your access token.