API response body

{
  "page": 1,
  "num_pages": 7,
  "transactions": [
      {
      "account_id": "508**379",
      "account_type": "depository",
      "timestamp": "2021-10-14T11:33:36+00:00",
      "amount": 600,
      "impact": "DEBIT",
      "currency": null,
      "labels": []
        },
        {
          "account_id": "508**379",
          "account_type": "depository",
          "timestamp": "2021-10-11T11:45:36+00:00",
          "amount": 50,
          "impact": "CREDIT",
          "currency": null,
          "labels": []
        }
    ]
}

Summary

A "Transaction" is a credit (cash-in) or debit (cash-out) event into a mobile phone user's financial institution account.

Query/Response Behavior

If no time range is provided in the query, the endpoint defaults to returning a full page of transaction records, ordered in descending timestamp.

Fields

transactions[].account_id

Multiple accounts can be associated with an institution. The Transactions endpoint returns the entire collection of records, across all possible accounts. In this example, these are records belonging to the user's institution Zenith Bank (institution_id = "zenithbank"). It is possible that a user has multiple accounts (e.g. a savings and a checking), in which case Pngme attempts to extract the distinct account_id of each account. In this case, a call to the Transactions API might show two sets of records, each grouped by different account_id. _If the account_id value is not extractable, this field shows as "account_id": "default".

transactions[].account_type

The type of account associated with the set of records. See more Account Types.

transactions[].timestamp

The time at which the transaction event occurred (specifically, when the SMS was received at the mobile phone user's phone)

transactions[].amount

The amount of the credit or debit transaction.

transactions[].impact

The direction of cash flow for the specific record.
Valid values include one of:

  • CREDIT
  • DEBIT

A CREDIT for a loan type account or revolving_loan type account is a repayment towards the loan.

A DEBIT for a loan type account is a record of disbursement following the loan approval.

A CREDIT for a depository type account is cash-in.
A DEBIT for a depository type account is cash-out.

transactions[].currency

A currency field, if available. Currency is not always extractable for a given transaction record. If no currency field is provided, consider using the default currency or country currency provided from the /users/{user_uuid}/institutions endpoint.
If present, currency is one of the recognized currency codes, as detailed in the Currency Codes section.

transactions[].labels[]

One or more labels associated with the given transaction record. See the Labels section for a list of recognized labels, and their description. See more Labels.

Interpreting labels

Example transaction:

{
  "page": 1,
  "num_pages": 7,
  "transactions": [
    {
      "account_id": "default",
      "account_type": "loan",
      "timestamp": "2021-10-14T11:33:36+00:00",
      "amount": 500,
      "impact": "DEBIT",       
      "currency": NGN,
      "labels": ["LoanApproved", "LoanDisbursed"]
    }
  ]
}

The above transaction is a debit (cash-out) transaction of an amount equal to 500 NGN, from an account of type "loan". Specifically, a disbursement event (see impact field section). This transaction has been labeled with two labels: LoanApproved and LoanDisbursed. Those labels signify that at the time of this transaction, a loan approval and loan disbursement event took place. Furthermore, the appearance of both labels would indicate that this disbursement was the initial disbursement (that which took place immediately after loan approval).