Interswitch Customer Insights API

Permissioned access to demography, financial history, average financial history, and financial-habit signals derived from Interswitch's transaction switch and Verve card network. Feeds credit decisioning, KYC enrichment, and segmentation for fintechs, lenders, and retail risk teams.

Interswitch Customer Insights API is one of 12 APIs that Interswitch publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Customer Insights, Credit Decisioning, Data, Demographics, and Africa. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

interswitch-customer-insights-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Interswitch Customer Insights API
  description: |
    Permissioned access to demography, financial history, average financial
    history, and financial-habit signals derived from Interswitch's transaction
    switch and Verve card network. Feeds credit decisioning, KYC enrichment,
    and segmentation.
  version: '2024-01-01'
servers:
  - url: https://sandbox.interswitchng.com
    description: Sandbox
  - url: https://saturn.interswitchng.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Demography
  - name: Financial History
  - name: Financial Habits
paths:
  /insights/api/v1/customers/{customerId}/demography:
    get:
      tags: [Demography]
      summary: Get Customer Demography
      operationId: getCustomerDemography
      parameters:
        - { in: path, name: customerId, required: true, schema: { type: string } }
      responses:
        '200':
          description: Demographic record.
          content:
            application/json:
              schema:
                type: object
                properties:
                  customerId: { type: string }
                  ageBand: { type: string }
                  gender: { type: string }
                  state: { type: string }
                  lga: { type: string }
                  occupationGroup: { type: string }
  /insights/api/v1/customers/{customerId}/financial-history:
    get:
      tags: [Financial History]
      summary: Get Financial History
      operationId: getFinancialHistory
      parameters:
        - { in: path, name: customerId, required: true, schema: { type: string } }
        - { in: query, name: months, schema: { type: integer, default: 12 } }
      responses:
        '200':
          description: Spending and inflow history.
          content:
            application/json:
              schema:
                type: object
                properties:
                  monthlyInflows: { type: array, items: { type: number } }
                  monthlyOutflows: { type: array, items: { type: number } }
                  categories: { type: object, additionalProperties: { type: number } }
  /insights/api/v1/customers/{customerId}/financial-history/average:
    get:
      tags: [Financial History]
      summary: Get Average Financial History
      operationId: getAverageFinancialHistory
      parameters:
        - { in: path, name: customerId, required: true, schema: { type: string } }
      responses:
        '200':
          description: Average inflow/outflow metrics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  averageMonthlyInflow: { type: number }
                  averageMonthlyOutflow: { type: number }
                  averageBalance: { type: number }
                  windowMonths: { type: integer }
  /insights/api/v1/customers/{customerId}/financial-habits:
    get:
      tags: [Financial Habits]
      summary: Get Financial Habits
      operationId: getFinancialHabits
      parameters:
        - { in: path, name: customerId, required: true, schema: { type: string } }
      responses:
        '200':
          description: Behavioral signals.
          content:
            application/json:
              schema:
                type: object
                properties:
                  spendingPersona: { type: string }
                  recurringBills: { type: array, items: { type: string } }
                  channelPreference: { type: string, enum: [POS, WEB, MOBILE, ATM, USSD] }
                  weekendVsWeekdayRatio: { type: number }
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer