MTN Customer Identification V1

The Customer Identification API provides information about a customer and their historical usage events on voice, data, SMS, Roaming etc. Information can be retrieved by stating the date range for the period the API consumer is interested in. It will return date and time on which a specific event occurred on a customer's MSISDN as...

OpenAPI Specification

mtn-group-customer-identification-v1.yml Raw ↑
swagger: '2.0'
info:
  version: '1.0.0'
  title: Customer Identification API
  description: >-
    The Customer Identification API provides information about a customer and
    their historical usage events on voice, data, SMS, Roaming etc. Information can be
    retrieved by stating the date range for the period the API consumer is
    interested in. It will return date and time on which a specific event
    occurred on a customer's MSISDN as queried by the API consumer

    ### Supported Operations

      1. **Recharge and Usage Historical Information**
          - **subscriberUsage:** Data, Voice, SMS call events
                records
          - **roamingUsage**: Data, Voice, SMS call events
                records for Roaming
          - **rechargeHistory:** Airtime Recharge Events
          - **daUsageHistory:** Dedicated Account Balance usage
          - **mainAccountUsage:** Events that used the Main Airtime
          - **accountAdjustments:** Bucket Balance adjustment events that
          happened on MA and DA's
          - **internetUsageDetails:** Detailed Data usage events
          - **validateKYC**: Validates whether msisdn and NIN values provided match or don't match
     
      2. **Xtratime**
          - View Loan Details: gets the list of open loans and their data for a subscriber of Xtratime product
          - View Transaction Detail:  used to get a list of the history for loans (Advance/Recoveries) for a subscriber of xtratime product.
          - Customer Eligibility: used to retrieve the list of denomination identifiers i.e. loan bands for which the subscriber is eligible at the time of the request.
          - Customer Profile: used to retrieve the credit limit and balances list of the customer
          
      3. **Customer Information**
          - Query Customer Data: Returns kyc and summary statistics on usage data for a subscriber msisdn. **Note, depending on the priviledges assigned to a 3PP all/less data is returned.**
          - Query Merchant Data: Returns kyc and summary statistics on usage data for a momopay merchant msisdn. **Note, depending on the priviledges assigned to a 3PP all/less data is returned.**

  contact:
    email: developer-support@mtn.com
    name: MTN API Support
host: api.mtn.com
basePath: /v1/customerIdentification/
securityDefinitions:
  ApiKeyAuth:
    type: apiKey
    name: X-API-Key
    in: header
schemes:
- https
consumes:
- application/json
produces:
- application/json
paths:
  /customer:
    get:
      description: Get Usage, Roaming, Recharge History, Customer Profile or Eligibility status of a customer, identified by an MSISDN
      summary: Get Usage, Roaming, Recharge History, Customer Profile or Eligibility status of a customer, identified by an MSISDN
      tags:
      - Usage Historical Information
      operationId: GetUsage,Roaming,RechargeHistory,CustomerProfileorEligibilitystatusofacustomer,identifiedbyanMSISDN
      deprecated: false
      produces:
      - application/json
      parameters:
      - name: customerId
        in: query
        required: true
        type: number
        format: double
        description: MSISDN of the customer
      - name: partnerId
        in: query
        required: true
        type: number
        format: double
        description: Unique identifier of the system from which the request for customer information is coming. This is to be assigned by the back-end provider system
      - name: operationName
        in: query
        required: true
        enum:
        - subscriberUsage
        - roamingUsage
        - rechargeHistory
        - daUsageHistory
        - mainAccountUsage
        - accountAdjustments
        - internetUsageDetails
        - viewloandetailsCVAS
        - viewtrxdetailsCVAS
        - checkEligibilityCVAS
        - checkProfileCVAS
        - validateKYC
        type: string
        description: >-
          Name assigned to the task to be performed. Below are the possible values;

          - **subscriberUsage:** Data, Voice, SMS call events records

          - **roamingUsage:** Data, Voice, SMS call events records for Roaming

          - **rechargeHistory:** Airtime Recharge History

          - **daUsageHistory:** Dedicated Account Balance usage

          - **mainAccountUsage:** Events that used the Main Airtime

          - **accountAdjustments:** Bucket Balance adjustment events that

          happened on MA and DA's

          - **internetUsageDetails:** Detailed Data usage events

          - **viewloandetailsCVAS:** gets the list of open loans and their data for a subscriber of Xtratime product

          - **viewtrxdetailsCVAS:** used to get a list of the history for loans (Advance/Recoveries) for a subscriber of xtratime product.

          - **checkEligibilityCVAS:** used to retrieve the list of denomination identifiers i.e. loan bands for which the subscriber is eligible at the time of the request.

          - **checkProfileCVAS:** used to retrieve the credit limit and balances list of the customer

          - **validateKYC:** confirm NIN and MSISDN are a match/no-match
      - name: IdNumber
        in: query
        required: false
        type: string
        description: NIN of the msisdn for which a match or no match is required . It is only applicable and mandatory if the operationName is set to validateKYC.
      - name: startDate
        in: query
        required: false
        type: number
        format: double
        description: >-
          Start Date from which information is required. Format; YYYYMMDD


          *Only applicable and mandatory when **operationName** = subscriberUsage, roamingUsage, rechargeHistory, daUsageHistory, mainAccountUsage, accountAdjustments, internetUsageDetails*
      - name: endDate
        in: query
        required: false
        type: number
        format: double
        description: >-
          End Date to which information is required. Format; YYYYMMDD


          *Only applicable when **operationName** = subscriberUsage, roamingUsage, rechargeHistory, daUsageHistory, mainAccountUsage, accountAdjustments, internetUsageDetails*
      - name: status
        in: query
        required: false
        enum:
        - open
        - closed
        type: string
        description: >-
          Status of the loan


          *Only applicable when **operationName** = viewloandetailsCVAS*
      - name: offset
        in: query
        required: false
        type: number
        format: double
        description: >-
          Indicates the max number of loan transaction to return. This is a limiter and can not exceed the project maximum.


          *Only applicable when **operationName** = viewtrxdetailsCVAS*
      - name: cvasBandName
        in: query
        required: false
        type: string
        description: >-
          Specifies a specific loan band against which eligibility is checked.


          *Only applicable when **operationName** = checkEligibilityCVAS*
      - name: cvasBandGroup
        in: query
        required: false
        type: number
        format: double
        description: >-
          Specifies the loan bands of the group against which eligibility is checked.


          *Only applicable when **operationName** = checkEligibilityCVAS*
      - name: responseType
        in: query
        required: false
        enum:
        - B
        - E
        default: E
        type: string
        description: >-
          Specifies the level of information to return.


          *Only applicable when **operationName** = checkEligibilityCVAS*

          - B stands for "Basic". Returns Eligibility status only

          - E stands for "Extend". Returns Eligibility status and the list of eligible bands.
      - name: eligibilityCheck
        in: query
        required: false
        enum:
        - B
        - E
        default: E
        type: string
        description: >-
          Specifies the eligibility rules to run.


          *Only applicable when **operationName** = checkEligibilityCVAS*

          - B stands for "Basic". Without IN interaction

          - E stands for "Extend". With complete eligibility rules
      - name: usageType
        in: query
        required: false
        enum:
        - ALL
        - VOICE
        - SMS
        - DATA
        default: ALL
        type: string
        description: >-
          Specifies the type of usage to be fetched.


          *Only applicable when **operationName** = subscriberUsage*.
      responses:
        '200':
          description: OK
          schema:
            default: ''
          examples:
            application/json:
              APIStatus:
                msisdn: '242068021197'
                requestId: '4940324720466238117'
                dateRange:
                - '20210614'
                - '20210614'
                maxRecs: 5
                numRecs: 5
                pageNum: 1
                submittedTime: 2021-08-19 15:19:49.142
                duration: 83
                statusCode: 200
                statusMsg: OK
                APIData:
                - duration: 1
                  charge_duration: 1
                  timestamp: 20200922212007+0300
                  description: SMS
                  call_type: ONNET
                  date_key: 20200922
                  called_msisdn: '256800205353'
                  amount: '0.000000'
                  service_class: '31'
                  offer_desc: ''
                  timestamp_v: 1600809607000
                  unit: M
                  call_direction: OUTGOING
                  call_reference_no: ''
                  da_id: '20'
                  discount_amt: ''
                  da_balance_before_amt: '200'
                  package_cd: P1000
                  base_station_id: 629 10 121 11014
                  ma_balance_before_amt: '0.013333'
                  da_balance_after_amt: '0'
                  da_id_description: BUNDLE
                  bytes_sent_qty: ''
                  da_value_amt: '200'
                  call_reference_number: '3976963048'
                  discount_cd: ''
                  currency_cd: XAF
                  event_subtype_cd: '0'
                  source_system_cd: CCN
                  apn_cd: ''
                  event_cd: VOICE
                  discount_pct: '0'
                  event_subtype_desc_txt: null
                  served_msisdn_nr: '242068021197'
                  subscriber_type: PREPAID
                  called_numbner: '65938200'
                  bytes_received_qty: ''
                  ma_balance_after_amt: '0.013333'
                - recharge_value_after: 900
                  timestamp: 20210610090705
                  date_key: 20210610
                  recharge_type: RCG_MMT_AIR_MOBILE_MONEY
                  recharge_value_before: 0
                  transaction_id: "1282815489"
                  recharge_amount: 900
                  timestamp_v: 1599233410000
                  recharge_channel: EXTEVDS|EVDSMOMO
                  re_method: ""
                  base_station_id: ""
                  re_tax: ""
                  re_denomination: "900.0"
                  re_bundle: "DIY_BONUS"
                  re_msisdn_nsk: "242066223438"
                  service_id: "3"
                  re_account: "DA_ID_253"
                  re_validity: "5"
                - duration: 16
                  description: VOICE
                  call_type: VOICE
                  date_key: 20200916
                  called_msisdn: "256758130545"
                  call_date: "2020-09-16 13:47:28"
                  main_bal_after: 7936
                  service_class: MTN Call Per Second
                  call_cost: 64
                  main_bal_before: 8000
                  timestamp_v: 1600228800000
                  charge_unit: M
                - origtransactionid: "12345"
                  balance_before: "0.014687"
                  node_id: USSDug
                  date_key: 20210818
                  call_date: 20210818191922
                  balance_after: "500.014687"
                  change: "-500.0"
                  timestamp_v: 1600255847000
                  node: madapiST
                  m2u_receiver: ""
                  service_id: "242065933826"
                  event_subtype_cd: "Credit"
                  adj_account: "MASTER"
                  adj_validity: ""
                  adj_acct_source: "ERS1A"
                  adj_tran_type: "ERS1A"
                  m2u_sender: ""
                - imei: "911563554605990"
                  hour_enrich: 9
                  date_key: 20200916
                  application_v: DNS
                  egn_sub_protocol_v: dns
                  data_usage_type: 2
                  egn_sub_protocol_id_n: 79
                  downlink_traffic: 6148
                  uplink_traffic: 3018
                  total_traffic: 9166
                  timestamp_v: 1600228800000
                  apn: internet
                  imsi: 641101909028494
                - call_direction: "I"
                  package_cd: "P1000"
                  package_description: "MTN FREE~1.0"
                  event_unit_cd: "XAF"
                  call_duration_qty: "24"
                  country: "Congo"
                  served_imsi_nr: null
                  bytes_sent_qty: 0
                  date_key: 20210812
                  sdr_charge_amt: "0"
                  other_nr: "242055286670"
                  cdr_ts: "2021-08-12 07:33:39.0"
                  event_value_amt: "1240000"
                  msisdn_nsk: "242066173079"
                  event_desc_txt: "VOICE"
                  currency_cd: "XAF"
                  source_system_cd: "PM RATED"
                  event_subtype_cd: ""
                  event_cd: "0"
                  event_subtype_desc_txt: ""
                  conversion_rate: "0"
                  event_dt: "20210812"
                  bytes_received_qty: "0"
          headers: {}
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/customerUsage'
          examples:
            application/json:
              response:
                errorCode: '1103'
                errorDescription: Invalid parameter value. The name of the parameter will be provided
                msisdn: '22977777'
                when: 1519980424641
                status: ERROR
              loanList: []
              operationList: null
              APIData:
                status: "NO_MATCH"
                create_dt: 20220324
                submission_time: "20220324 08:41:01"
                request_id: "e8f39b6a46364875a4a89730e3925bc4"
                response_time_sec: "0.0417"
          headers: {}
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
      security:
      - ApiKeyAuth: []
    post:
      description: Query Customer or Merchant Data
      summary: Query Customer or Merchant Data
      tags:
      - Customer Information
      operationId: QueryCustomerorMerchantData
      deprecated: false
      produces:
      - application/json;charset=utf-8
      - application/json
      consumes:
      - application/json;charset=utf-8
      parameters:
      - name: x-api-key
        in: header
        required: true
        type: string
        description: API Key
      - name: transactionId
        in: header
        required: true
        type: string
        description: Client Transaction ID
      - name: Content-Type
        in: header
        required: false
        enum:
        - application/json;charset=utf-8
        type: string
        description: ''
      - name: body
        in: body
        required: true
        description: >-
          Name assigned to the task to be performed. Below are the possible values;

          - **queryData:** Query subscriber kyc data and summary usage statistics

          - **queryMerchantData:** Query MoMo Merchant kyc data and summary usage statistics
        schema:
          $ref: '#/definitions/customerInfo'
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/CustomerResponse'
          examples:
            application/json;charset=utf-8:
              APIStatus:
                msisdn: '256789999576'
                requestId: '1990380913420547969'
                dateRange:
                - '20200901'
                - '20200922'
                maxRecs: -1
                numRecs: 50
                pageNum: 50
                submittedTime: 2020-09-25 19:26:32.011
                duration: 5457
                statusCode: 200
                statusMsg: OK
                APIData:
                - atc_loans_amt_tot: 0
                  atc_loans_first_date: 0
                  atc_loans_last_date: 0
                  atc_loans_last_overdue: 0
                  atc_loans_max_term: 0
                  atc_loans_overdue: 0
                  atc_loans_qty_1m: 0
                  atc_loans_qty_3m: 0
                  atc_loans_qty_6m: 0
                  atc_loans_tot_term: 0
                  batch_id: -1
                  create_dt: 20211027
                  date_key: 20191113
                  dw_cpart: -1
                  dw_part: -1
                  ewp_account_holder_type_cd: MTNU Staff Account
                  gsm_active_days_qty_1m: 27
                  gsm_active_days_qty_3m: 87
                  gsm_active_days_qty_6m: 177
                  gsm_avg_bund_size_1m: 0
                  gsm_avg_bund_size_3m: 0
                  gsm_avg_bund_size_6m: 0
                  gsm_avg_topup_amt_1m: 0
                  gsm_avg_topup_amt_3m: 0
                  gsm_avg_topup_amt_6m: 0
                  gsm_dab_qty_1m: 0
                  gsm_dab_qty_3m: 0
                  gsm_dab_qty_6m: 0
                  gsm_dat_vol_amt_1m: 10975
                  gsm_dat_vol_amt_3m: 33035
                  gsm_dat_vol_amt_6m: 66809
                  gsm_days_bund_less_2mb_1m: 0
                  gsm_days_bund_less_2mb_3m: 0
                  gsm_days_bund_less_2mb_6m: 0
                  gsm_device_make: SAMSUNG
                  gsm_imei_nr: 352296490153390
                  gsm_imei_qty_1m: 1
                  gsm_imsi_nr: 641101917126876
                  gsm_imsi_qty_1m: 1
                  gsm_in_calls_qty_1m: 424
                  gsm_in_calls_qty_3m: 1152
                  gsm_in_calls_qty_6m: 2147
                  gsm_la_days_qty: 0
                  gsm_last_bundle_purchase: 20211003
                  gsm_me2u_received_amt_1m: 0
                  gsm_me2u_received_amt_3m: 0
                  gsm_me2u_received_amt_6m: 0
                  gsm_me2u_received_qty_1m: 0
                  gsm_me2u_received_qty_3m: 0
                  gsm_me2u_received_qty_6m: 0
                  gsm_nau_amt_1m: 0
                  gsm_nau_amt_3m: 0
                  gsm_nau_amt_6m: 286
                  gsm_network_town: ''
                  gsm_npt: PREPAID
                  gsm_nrd: 20080218
                  gsm_nta_amt_1m: 0
                  gsm_nta_amt_3m: 250
                  gsm_nta_amt_6m: 235250
                  gsm_out_calls_qty_1m: 422
                  gsm_out_calls_qty_3m: 1443
                  gsm_out_calls_qty_6m: 2601
                  gsm_p_usid: -1
                  gsm_po_limit_amt: 0
                  gsm_s_ucid: -1
                  gsm_s_usid: -1
                  gsm_times_blocked_po_qty_1m: 0
                  gsm_times_blocked_po_qty_3m: 0
                  gsm_times_blocked_po_qty_6m: 0
                  gsm_topup_method: R_DIRECTP_STDDATABUN
                  gsm_uniq_in_anum_qty_1m: 305
                  gsm_uniq_in_anum_qty_3m: 850
                  gsm_uniq_in_anum_qty_6m: 1572
                  gsm_uniq_out_bnum_qty_1m: 282
                  gsm_uniq_out_bnum_qty_3m: 991
                  gsm_uniq_out_bnum_qty_6m: 1806
                  kyc_dob: 19800421
                  kyc_first_name: David
                  kyc_gender: M
                  kyc_id_expiry_date: 20241024
                  kyc_id_num: CM80007101HWHL
                  kyc_id_type: NATIONALID
                  kyc_last_name: Batanda
                  kyc_momo_id: 40106229
                  kyc_msisdn: 256772121248
                  kyc_msisdn_random: '-1'
                  kyc_title: MR
                  max_completeness_date: 20211026
                  mom_bank_pull_amt_1m: 2500000
                  mom_bank_pull_amt_3m: 9400000
                  mom_bank_pull_amt_6m: 14700000
                  mom_bank_pull_last_date: 20211023
                  mom_bank_pull_max_amt_1m: 800000
                  mom_bank_pull_max_amt_3m: 800000
                  mom_bank_pull_max_amt_6m: 800000
                  mom_bank_pull_qty_1m: 4
                  mom_bank_pull_qty_3m: 15
                  mom_bank_pull_qty_6m: 28
                  mom_bank_pull_uniq_acceptors_qty_1m: 2
                  mom_bank_pull_uniq_acceptors_qty_3m: 2
                  mom_bank_pull_uniq_acceptors_qty_6m: 2
                  mom_bank_push_amt_1m: 0
                  mom_bank_push_amt_3m: 0
                  mom_bank_push_amt_6m: 0
                  mom_bank_push_last_date: 0
                  mom_bank_push_max_amt_1m: 0
                  mom_bank_push_max_amt_3m: 0
                  mom_bank_push_max_amt_6m: 0
                  mom_bank_push_qty_1m: 0
                  mom_bank_push_qty_3m: 0
                  mom_bank_push_qty_6m: 0
                  mom_bank_push_uniq_acceptors_qty_1m: 0
                  mom_bank_push_uniq_acceptors_qty_3m: 0
                  mom_bank_push_uniq_acceptors_qty_6m: 0
                  mom_bill_payment_amt_1m: 150000
                  mom_bill_payment_amt_3m: 579000
                  mom_bill_payment_amt_6m: 1139000
                  mom_bill_payment_last_date: 20211001
                  mom_bill_payment_max_amt_1m: 150000
                  mom_bill_payment_max_amt_3m: 150000
                  mom_bill_payment_max_amt_6m: 150000
                  mom_bill_payment_qty_1m: 1
                  mom_bill_payment_qty_3m: 6
                  mom_bill_payment_qty_6m: 11
                  mom_bill_payment_uniq_acceptors_qty_1m: 1
                  mom_bill_payment_uniq_acceptors_qty_3m: 2
                  mom_bill_payment_uniq_acceptors_qty_6m: 2
                  mom_deposit_amt_1m: 16500000
                  mom_deposit_amt_3m: 24850000
                  mom_deposit_amt_6m: 31900000
                  mom_deposit_last_date: 20211022
                  mom_deposit_max_amt_1m: 6000000
                  mom_deposit_max_amt_3m: 6000000
                  mom_deposit_max_amt_6m: 6000000
                  mom_deposit_qty_1m: 6
                  mom_deposit_qty_3m: 13
                  mom_deposit_qty_6m: 18
                  mom_deposit_uniq_acceptors_qty_1m: 6
                  mom_deposit_uniq_acceptors_qty_3m: 11
                  mom_deposit_uniq_acceptors_qty_6m: 14
                  mom_p2p_received_amt_1m: 818000
                  mom_p2p_received_amt_3m: 2564500
                  mom_p2p_received_amt_6m: 4685500
                  mom_p2p_received_last_date: 20211011
                  mom_p2p_received_max_amt_1m: 508000
                  mom_p2p_received_max_amt_3m: 1000000
                  mom_p2p_received_max_amt_6m: 1000000
                  mom_p2p_received_qty_1m: 2
                  mom_p2p_received_qty_3m: 10
                  mom_p2p_received_qty_6m: 31
                  mom_p2p_received_uniq_acceptors_qty_1m: 1
                  mom_p2p_received_uniq_acceptors_qty_3m: 1
                  mom_p2p_received_uniq_acceptors_qty_6m: 1
                  mom_p2p_send_amt_1m: 9520000
                  mom_p2p_send_amt_3m: 24732500
                  mom_p2p_send_amt_6m: 37244500
                  mom_p2p_send_last_date: 20211025
                  mom_p2p_send_max_amt_1m: 3940000
                  mom_p2p_send_max_amt_3m: 3940000
                  mom_p2p_send_max_amt_6m: 3940000
                  mom_p2p_send_qty_1m: 22
                  mom_p2p_send_qty_3m: 64
                  mom_p2p_send_qty_6m: 119
                  mom_registration_date: 20080218
                  mom_send_uniq_acceptors_qty_1m: 17
                  mom_send_uniq_acceptors_qty_3m: 34
                  mom_send_uniq_acceptors_qty_6m: 52
                  mom_withdrawal_amt_1m: 100000
                  mom_withdrawal_amt_3m: 450000
                  mom_withdrawal_amt_6m: 650000
                  mom_withdrawal_last_date: 20211009
                  mom_withdrawal_max_amt_1m: 100000
                  mom_withdrawal_max_amt_3m: 300000
                  mom_withdrawal_max_amt_6m: 300000
                  mom_withdrawal_qty_1m: 1
                  mom_withdrawal_qty_3m: 3
                  mom_withdrawal_qty_6m: 5
                  mom_withdrawal_uniq_acceptors_qty_1m: 1
                  mom_withdrawal_uniq_acceptors_qty_3m: 3
                  mom_withdrawal_uniq_acceptors_qty_6m: 5
                  opco_cd: UG
                  p_ucid: 4667530
                  source: MOMO
                  status_code: AC
                  kyc_merchant_code: "129405@momopay"
                  kyc_momo_account_number: 256392967379
                  kyc_merchant_type: "PERSONAL"
                  kyc_business_type: ""
                  kyc_business_name: "BERNARD SSENYONDO"
                  profile: "MTNU MoMoPay Individual"
                  momopay_fst_actvty_date: "2021-09-07 09:19:29"
                  date_last_receipt_into_momopay_wallet: "2021-11-28 15:09:38"
                  date_last_transfer_from_momopay_to_mobile_money: "2021-11-29 16    :03:48"
                  date_last_transfer_from_momopay_to_bank: null
                  mom_momo_transactionsperday: 1
                  mom_momo_payment_qty_6m: 15
                  mom_momo_payment_qty_3m: 0
                  mom_momo_payment_qty_1m: 0
                  day_momo_payment_qty: 0
                  mom_momo_payment_amt_6m: 2285500
                  mom_momo_payment_amt_3m: null
                  mom_momo_payment_amt_1m: null
                  day_momo_payment_amt: null
                  mom_momo_payment_acceptors_6m: 1
                  mom_momo_payment_acceptors_3m: 0
                  mom_momo_payment_acceptors_1m: 0
                  day_momo_payment_acceptors: 0
                  mom_momo_payment_max_amt_6m: 465000
                  mom_momo_payment_max_amt_3m: null
                  mom_momo_payment_max_amt_1m: null
                  day_momo_payment_max_amt: null
                  mom_momo_payment_last_date: "2021-11-28 15:09:38"
                  mom_momo_withdrawal: null
                  mom_momo_till_wallet_qty_6m: 14
                  mom_momo_till_wallet_qty_3m: 0
                  mom_momo_till_wallet_qty_1m: 0
                  day_momo_till_wallet_amt: null
                  mom_momo_till_wallet_amt_6m: 2171000
                  mom_momo_till_wallet_amt_3m: null
                  mom_momo_till_wallet_amt_1m: null
                  day_momo_till_wallet_qty: 0
                  mom_momo_till_bank_qty_6m: null
                  mom_momo_till_bank_qty_3m: null
                  mom_momo_till_bank_qty_1m: null
                  day_momo_till_bank_qty: null
                  mom_momo_till_bank_amt_6m: null
                  mom_momo_till_bank_amt_3m: null
                  mom_momo_till_bank_amt_1m: null
                  day_momo_till_bank_amt: null
                  mom_momo_m2m_payment_qty_6m: 15
                  mom_momo_m2m_payment_qty_3m: 0
                  mom_momo_m2m_payment_qty_1m: 0
                  day_momo_m2m_payment_qty: 0
                  mom_momo_m2m_payment_amt_6m: 2285500
                  mom_momo_m2m_payment_amt_3m: null
                  mom_momo_m2m_payment_amt_1m: null
                  day_momo_m2m_payment_amt: null
                  momo_no_activity_qty_6m: 165
                  momo_no_activity_qty_3m: null
                  momo_no_activity_qty_1m: null
                  account_status_cd: "ACTIVE"
                  balance: 9673
                  submission_time: "20220323 08:34:30"
                  request_id: "3b50b78e82ee40978cdd2fe9913baf6b"
                  response_time_sec: 0.1946
          headers: {}
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/customerUsage'
          headers: {}
definitions:
  customerInfo:
    title: customerInfo
    type: object
    properties:
      customerId:
        description: MSISDN of the customer
        type: string
      partnerId:
        description: partnerID of the 3PP
        type: string
      appName:
        description: appName used to trigger the API request
        type: string
      hostName:
        description: dummy hostname parameter
        type: string
      operationName:
        type: object
        allOf:
        - $ref: '#/definitions/OperationName'
        - description: >-
            Name assigned to the task to be performed. Below are the possible values;

            - **queryData:** Query subscriber kyc data and summary usage statistics

            - **queryMerchantData:** Query MoMo Merchant kyc data and summary usage statistics
      operationValue:
        description: set to 1 always
        type: string
  customerUsage:
    title: customerUsage
    type: object
    properties:
      APIStatus:
        $ref: '#/definitions/APIStatus'
      APIData:
        description: Detailed information returned about the subscriber
        type: array
        items: {}
  APIStatus:
    title: APIStatus
    type: object
    properties:
      msisdn:
        description: MSISDN of the customer whose information has been returned
        example: '256789999781'
        type: string
      requestId:
        description: internally generated transaction Id from the backend
        example: '4993609756309740126'
        type: string
      dateRange:
        description: Date range of the returned information
        type: array
        items:
          $ref: '#/definitions/DateRange'
      maxRecs:
        description: Maximum number of records available for the given date range
        type: integer
        format: int32
      numRecs:
        description: Number of records returned. 0 for no records returned.
        type: number
        format: double
      pageNum:
        type: object
        allOf:
        - $ref: '#/definitions/PageNum'
        - description: Maximum number of records that can be returned in a single response
      submittedTime:
        description: Date time stamp when the request for information was made
        example: 2020-09-01 17:08:38.549
        type: string
      duration:
        description: Duration taken to process the request in milliseconds
        type: number
        format: double
      statusCode:
        description: Response status code
        example: 200
        type: number
        format: double
      statusMsg:
        description: Description for the response status code
        example: OK
        type: string
  CustomerResponse:
    title: CustomerResponse
    example:
      APIStatus:
        msisdn: '256789999576'
        requestId: '1990380913420547969'
        dateRange:
        - '20200901'
        - '20200922'
        maxRecs: -1
        numRecs: 50
        pageNum: 50
        submittedTime: 2020-09-25 19:26:32.011
        duration: 5457
        statusCode: 200
        statusMsg: OK
        APIData:
        - atc_loans_amt_tot: 0
          atc_loans_first_date: 0
          atc_loans_last_date: 0
          atc_loans_last_overdue: 0
          atc_loans_max_term:

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mtn-group/refs/heads/main/openapi/mtn-group-customer-identification-v1.yml