Suggest Edits

## Welcome

Welcome fellow Jengi [pronounced dʒɛgaɪ ] to the JengaAPI reference documentation.

Use this page to start your journey towards build amazing applications. You can view the various categories of functionalities on the area to the left, descriptions in the middle and code examples in the area to the right. You can switch between your preferred programming language using the tabs that quickly gives you an indication of what you should be incorporating into your code. Happy Jenga-ing !

> ### ❗️

> Using The API References Here

> All APIs here are connected to our sandbox environment . We have provided the tokens required to test drive them below.

> ### 📘

> Guides, Docs and Information

> If you would like to get a more detailed description [read 'simple'] description of how to use these webservices head on over to the "Guides and Descriptions" section. We have also incorporated a Help Button at the bottom right of this page if you would like to interact with one of our code chefs .

For the latest product updates and let our team know that you're ready to integrate fully, join our Jenga community on Slack and say hello on the #jengaapi channel!

Welcome fellow Jengi [pronounced dʒɛgaɪ ] to the JengaAPI reference documentation.

Use this page to start your journey towards build amazing applications. You can view the various categories of functionalities on the area to the left, descriptions in the middle and code examples in the area to the right. You can switch between your preferred programming language using the tabs that quickly gives you an indication of what you should be incorporating into your code. Happy Jenga-ing !

> ### ❗️

> Using The API References Here

> All APIs here are connected to our sandbox environment . We have provided the tokens required to test drive them below.

> ### 📘

> Guides, Docs and Information

> If you would like to get a more detailed description [read 'simple'] description of how to use these webservices head on over to the "Guides and Descriptions" section. We have also incorporated a Help Button at the bottom right of this page if you would like to interact with one of our code chefs .

For the latest product updates and let our team know that you're ready to integrate fully, join our Jenga community on Slack and say hello on the #jengaapi channel!

Suggest Edits

## Getting Started

You can get started immediately with the APIs here to test them out.
If you would like to go into a full -blown test environment, head on over here to create your account. For a detailed walk-through visit our Guides & tutorials section You will receive your API Keys for test and production from there.

> ### 🚧

> JengaHQ Registration

> - You will be required to provide some basic KYC in order to comply with various policies and legal regulations. You can email us at support@jengaapi.io if you have any queries

> ### 🚧

> Try It

> To try the APIs below type in the greyed out texts into the same fields. We promise, our intention is not to make your life unbearable . Just that you get the hang of using our web services.

##
Postman Buffs

Ok so if you may prefer to go straight into exploring using Postman here is the collection:

You can get started immediately with the APIs here to test them out.
If you would like to go into a full -blown test environment, head on over here to create your account. For a detailed walk-through visit our Guides & tutorials section You will receive your API Keys for test and production from there.

> ### 🚧

> JengaHQ Registration

> - You will be required to provide some basic KYC in order to comply with various policies and legal regulations. You can email us at support@jengaapi.io if you have any queries

> ### 🚧

> Try It

> To try the APIs below type in the greyed out texts into the same fields. We promise, our intention is not to make your life unbearable . Just that you get the hang of using our web services.

##
Postman Buffs

Ok so if you may prefer to go straight into exploring using Postman here is the collection:

Suggest Edits

## Pervasive Entities (Countries, Codes etc)

##
Supported Banks, Mobile Wallets & Countries

Jenga Web Services gives Jengis services access to all banks and mobile wallets in East and Central Africa . Use the below convention across all the webservices to specify the `
countryCode` ;

Kenya | `KE`
--- | ---
Uganda | `UG`
Tanzania | `TZ`
Rwanda | `RW`
Democratic Republic of Congo | `DRC`
South Sudan | `SS`
Ethiopia | `ET`

Certain services may only available to Equity Bank customers such as Account Services but we are working hard to add more banks and wallets. On the flip side certain other services are available Globally for example debit and credit card acceptance.

##
Country Codes

To lookup the country codes you will use in your application you can visit https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements

##
Bank Codes (BIC and IBAN)

To lookup the BIC and IBANs you will use in your application you can visit https://www.theswiftcodes.com/

##
Currency Codes

To lookup the ISO currency code (ISO 4217) you will use in your application you can visit https://en.wikipedia.org/wiki/ISO_4217

##
Supported Banks, Mobile Wallets & Countries

Jenga Web Services gives Jengis services access to all banks and mobile wallets in East and Central Africa . Use the below convention across all the webservices to specify the `
countryCode` ;

Kenya | `KE`
--- | ---
Uganda | `UG`
Tanzania | `TZ`
Rwanda | `RW`
Democratic Republic of Congo | `DRC`
South Sudan | `SS`
Ethiopia | `ET`

Certain services may only available to Equity Bank customers such as Account Services but we are working hard to add more banks and wallets. On the flip side certain other services are available Globally for example debit and credit card acceptance.

##
Country Codes

To lookup the country codes you will use in your application you can visit https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements

##
Bank Codes (BIC and IBAN)

To lookup the BIC and IBANs you will use in your application you can visit https://www.theswiftcodes.com/

##
Currency Codes

To lookup the ISO currency code (ISO 4217) you will use in your application you can visit https://en.wikipedia.org/wiki/ISO_4217

Suggest Edits

## Account Balance

This web service enables an application or service retrieve the current and available balance of an account

get https://sandbox.jengahq.io/account-test/v2/accounts/balances/countryCode/accountId

### Path Params

countryCode*string

account's country code. Valid values are `KE`, `TZ`, `UG`, `RW`, `DRC` or `SS`.

accountId*string

account identifier. This is the `API Configured Account` on JengaHQ

### Headers

Authorization*string

bearer token used to access the API

signature*string

A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: `countryCode`, `accountId`. The resulting text is then signed with Private Key and Base64 encoded.

> ### 📘

> Supported Banks and Countries

> We currently support statements from Equity Bank (KE, SS, TZ, UG, DRC RW). One Web Service to rule access them all . More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`currency` | `string` | account currency
`balances` | `array` | array of balances
`amount` | `string` | account balance
`type` | `string` | account balance type.

    curl -X GET \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/balances/KE/0011547896523'

    {
        "currency": "KES",
        "balances": [
            {
                "amount": "997382.57",
                "type": "Current"
            },
            {
                "amount": "997382.57",
                "type": "Available"
            }
        ]
    }

- Text

Try the API to see Results

> ### 📘

> Supported Banks and Countries

> We currently support statements from Equity Bank (KE, SS, TZ, UG, DRC RW). One Web Service to rule access them all . More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`currency` | `string` | account currency
`balances` | `array` | array of balances
`amount` | `string` | account balance
`type` | `string` | account balance type.

    curl -X GET \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/balances/KE/0011547896523'

    {
        "currency": "KES",
        "balances": [
            {
                "amount": "997382.57",
                "type": "Current"
            },
            {
                "amount": "997382.57",
                "type": "Available"
            }
        ]
    }

Suggest Edits

## Account MINI Statement

This service will return the last (10) ten transactions of a given account number. Its a super efficient service compared to the `
fullstatement` web service.

get https://sandbox.jengahq.io/account-test/v2/accounts/ministatement/countryCode/accountNumber

### Path Params

countryCode*string

account's country code

accountNumber*string

account number

### Headers

Authorization*string

the bearer token used to access the API

signature*string

A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: `countryCode`, `accountNumber`. The resulting text is then signed with Private Key and Base64 encoded.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`accountNumber` | `string` | account number
`currency` | `string` | account currency
`balance` | `string` | account available balance
`transactions` | `array` | transactions list
`date` | `string` | transaction date
`chequeNumber` | `string` | cheque number. Applicable to current accounts only
`description` | `string` | transaction description
`amount` | `string` | transaction amount
`type` | `string` | transaction type

    curl -X GET \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/ministatement/KE/0011547896523'

    {
        "accountNumber": "0011547896523",
        "currency": "KES",
        "balance": 1000,
        "transactions": [
            {
                "chequeNumber": null,
                "date": "2017-01-01T00:00:00",
                "description": "EAZZY-FUNDS TRNSF TO A/C XXXXXXXXXXXX",
                "amount": "100",
                "type": "Debit"
            },
            {
                "chequeNumber": null,
                "date": "2017-01-03T00:00:00",
                "description": "SI ACCOUNT TO ACCOUNT THIRD PA",
                "amount": "51",
                "type": "Debit"
            },
            {
                "chequeNumber": null,
                "date": "2017-01-05T00:00:00",
                "description": "CHARGE FOR OTC ECS TRAN",
                "amount": "220",
                "type": "Debit"
            },
            {
                "chequeNumber": null,
                "date": "2017-01-05T00:00:00",
                "description": "SI ACCOUNT TO ACCOUNT THIRD PA",
                "amount": "20",
                "type": "Debit"
            }
        ]
    }

No code samples available
Try the API to see Results

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`accountNumber` | `string` | account number
`currency` | `string` | account currency
`balance` | `string` | account available balance
`transactions` | `array` | transactions list
`date` | `string` | transaction date
`chequeNumber` | `string` | cheque number. Applicable to current accounts only
`description` | `string` | transaction description
`amount` | `string` | transaction amount
`type` | `string` | transaction type

    curl -X GET \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/ministatement/KE/0011547896523'

    {
        "accountNumber": "0011547896523",
        "currency": "KES",
        "balance": 1000,
        "transactions": [
            {
                "chequeNumber": null,
                "date": "2017-01-01T00:00:00",
                "description": "EAZZY-FUNDS TRNSF TO A/C XXXXXXXXXXXX",
                "amount": "100",
                "type": "Debit"
            },
            {
                "chequeNumber": null,
                "date": "2017-01-03T00:00:00",
                "description": "SI ACCOUNT TO ACCOUNT THIRD PA",
                "amount": "51",
                "type": "Debit"
            },
            {
                "chequeNumber": null,
                "date": "2017-01-05T00:00:00",
                "description": "CHARGE FOR OTC ECS TRAN",
                "amount": "220",
                "type": "Debit"
            },
            {
                "chequeNumber": null,
                "date": "2017-01-05T00:00:00",
                "description": "SI ACCOUNT TO ACCOUNT THIRD PA",
                "amount": "20",
                "type": "Debit"
            }
        ]
    }

Suggest Edits

## Account Full Statement

This web service enables the Jengi to retrieve the full set of transactions on a particular account based on a specified date range.

post https://sandbox.jengahq.io/account-test/v2/accounts/fullstatement

### Body Params

countryCode*string

account's country code (for example `KE`, `TZ`, `UG`, `RW`, `DRC` or `SS`) countries the codes refer to are self explanatory

accountNumber*string

account number

fromDate*string

start date of the statement period in `ISO 8601` Date Format `'YYYY-MM-DD'`

toDate*string

end date of the statement date range in `ISO 8601` date format `'YYYY-MM-DD'`

limit*int32

maximum number of transactions that can be returned in a response. We have set the default as `Default: "20"`

reference string

transaction reference

serial string

transaction serial number

postedDateTime string

transaction posted date

date string

transaction date `ISO 8601` date format `'YYYY-MM-DD'`

runningBalance object
runningBalance
currency string

account currency

amount double

account with this balance

### Headers

Authorization*string

bearer token used to access the API

Content-Type*string

the content type of the payload

signature*string

A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: `accountNumber`, `countryCode`, `toDate`. The resulting text is then signed with Private Key and Base64 encoded.

> ### 📘

> Currently the API response is capped at 20 records. You are required to pass the `
> reference` `
> serial` `
> postedDateTime` `
> date` `
> runningBalance.currency` `
> runningBalance.amount` in your next request to retrieve the next set of transaction data.

> ### 📘

> Supported Banks and Countries

> We currently support statements from Equity Bank (KE, SS, TZ, UG, DRC RW). One Web Service to rule access them all . More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`accountNumber` | `string` | account number
`currency` | `string` | account currency
`balance` | `string` | account balance
`transactions` | `array` | transactions list
`transactions.reference` | `string` | transaction reference
`transactions.date` | `string` | transaction date
`transactions.description` | `string` | transaction description
`transactions.amount` | `string` | transaction amount `will always be the same as the account currency`
`transactions.serial` | `string` | transaction serial number
`transactions.postedDateTime` | `string` |
`transactions.type` | `string` | transaction type. One of; `Debit` `Credit`
`transactions.runningBalance` | `object` | running balance amount
`runningBalance.currency` | `string` | running balance currency
`runningBalance.currency` | `string` | running balance amount

    curl -X POST \
        -d '{
       "countryCode": "KE",
       "accountNumber": "0011547896523",
       "fromDate": "2018-01-18",
       "toDate": "2018-04-19",
       "limit": 3,
       "reference": "",
       "serial": "",
       "postedDateTime": "",
       "date": "",
       "runningBalance": {
          "currency": "",
          "amount": 0.0
       }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/fullstatement'

    {
        "accountNumber": "0011547896523",
        "currency": "KES",
        "balance": 997382.57,
        "transactions": [
            {
                "reference": 541,
                "date": "2018-07-13T00:00:00.000",
                "description": "EQUITEL-BUNDLE/254764555383/8755",
                "amount": 900,
                "serial": 1,
                "postedDateTime": "2018-07-13T09:51:27.000",
                "type": "Debit",
                "runningBalance": {
                    "currency": "KES",
                    "amount": 1344.57
                }
            },
            {
                "reference": "S4921027",
                "date": "2018-07-18T00:00:00.000",
                "description": "EAZZY-AIRTIME/EQUITEL/254764555383/100000939918/18",
                "amount": 200,
                "serial": 1,
                "postedDateTime": "2018-07-18T16:27:18.000",
                "type": "Debit",
                "runningBalance": {
                    "currency": "KES",
                    "amount": 1144.57
                }
            },
            {
                "reference": 5436,
                "date": "2018-07-19T00:00:00.000",
                "description": "CREDIT TRANSFER",
                "amount": 1000000,
                "serial": 2,
                "postedDateTime": "2018-07-19T12:01:47.000",
                "type": "Credit",
                "runningBalance": {
                    "currency": "KES",
                    "amount": 1001144.57
                }
            }
        ]
    }

No code samples available
Try the API to see Results

> ### 📘

> Currently the API response is capped at 20 records. You are required to pass the `
> reference` `
> serial` `
> postedDateTime` `
> date` `
> runningBalance.currency` `
> runningBalance.amount` in your next request to retrieve the next set of transaction data.

> ### 📘

> Supported Banks and Countries

> We currently support statements from Equity Bank (KE, SS, TZ, UG, DRC RW). One Web Service to rule access them all . More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`accountNumber` | `string` | account number
`currency` | `string` | account currency
`balance` | `string` | account balance
`transactions` | `array` | transactions list
`transactions.reference` | `string` | transaction reference
`transactions.date` | `string` | transaction date
`transactions.description` | `string` | transaction description
`transactions.amount` | `string` | transaction amount `will always be the same as the account currency`
`transactions.serial` | `string` | transaction serial number
`transactions.postedDateTime` | `string` |
`transactions.type` | `string` | transaction type. One of; `Debit` `Credit`
`transactions.runningBalance` | `object` | running balance amount
`runningBalance.currency` | `string` | running balance currency
`runningBalance.currency` | `string` | running balance amount

    curl -X POST \
        -d '{
       "countryCode": "KE",
       "accountNumber": "0011547896523",
       "fromDate": "2018-01-18",
       "toDate": "2018-04-19",
       "limit": 3,
       "reference": "",
       "serial": "",
       "postedDateTime": "",
       "date": "",
       "runningBalance": {
          "currency": "",
          "amount": 0.0
       }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/fullstatement'

    {
        "accountNumber": "0011547896523",
        "currency": "KES",
        "balance": 997382.57,
        "transactions": [
            {
                "reference": 541,
                "date": "2018-07-13T00:00:00.000",
                "description": "EQUITEL-BUNDLE/254764555383/8755",
                "amount": 900,
                "serial": 1,
                "postedDateTime": "2018-07-13T09:51:27.000",
                "type": "Debit",
                "runningBalance": {
                    "currency": "KES",
                    "amount": 1344.57
                }
            },
            {
                "reference": "S4921027",
                "date": "2018-07-18T00:00:00.000",
                "description": "EAZZY-AIRTIME/EQUITEL/254764555383/100000939918/18",
                "amount": 200,
                "serial": 1,
                "postedDateTime": "2018-07-18T16:27:18.000",
                "type": "Debit",
                "runningBalance": {
                    "currency": "KES",
                    "amount": 1144.57
                }
            },
            {
                "reference": 5436,
                "date": "2018-07-19T00:00:00.000",
                "description": "CREDIT TRANSFER",
                "amount": 1000000,
                "serial": 2,
                "postedDateTime": "2018-07-19T12:01:47.000",
                "type": "Credit",
                "runningBalance": {
                    "currency": "KES",
                    "amount": 1001144.57
                }
            }
        ]
    }

Suggest Edits

## Opening and Closing Account Balance

This web service enables an application or service retrieve the opening and closing balance of an account for a given date

post https://sandbox.jengahq.io/account-test/v2/accounts/accountbalance/query

### Body Params

countryCode*string

account's country code. Valid values are `KE`, `TZ`, `UG`, `RW`, `DRC` or `SS`

accountId*string

account number

date*string

date in `ISO 8601` Date Format `'YYYY-MM-DD'`

### Headers

Authorization*string

bearer token used to access the API

Content-Type*string

the content type of the payload

signature*string

A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: `accountId`, `countryCode`, `date`. The resulting text is then signed with Private Key and Base64 encoded.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`balances` | `array` | balances list
`type` | `string` | balance type `end of day balance` `beginning of day balance`
`amount` | `string` | balance amount

    curl -X POST \
        -d '{
       "countryCode": "KE",
       "accountId": "0011547896523",
       "date": "2017-09-29"
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/accountbalance/query'

    {
        "balances": [
            {
                "type": "Closing Balance",
                "amount": "10810.00"
            },
            {
                "type": "Opening Balance",
                "amount": "103.00"
            }
        ]
    }

No code samples available
Try the API to see Results

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`balances` | `array` | balances list
`type` | `string` | balance type `end of day balance` `beginning of day balance`
`amount` | `string` | balance amount

    curl -X POST \
        -d '{
       "countryCode": "KE",
       "accountId": "0011547896523",
       "date": "2017-09-29"
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/account-test/v2/accounts/accountbalance/query'

    {
        "balances": [
            {
                "type": "Closing Balance",
                "amount": "10810.00"
            },
            {
                "type": "Opening Balance",
                "amount": "103.00"
            }
        ]
    }

Suggest Edits

## Account Inquiry - Bank Accounts

Get account details

Suggest Edits

## Within Equity Bank

Move Funds Within Equity Bank Across Kenya, Uganda, Tanzania, Rwanda & South Sudan.

Suggest Edits

## To Mobile Wallets

This enables your application to send money to telco wallets across Kenya, Uganda, Tanzania & Rwanda.

post https://sandbox.jengahq.io/transaction-test/v2/remittance#sendmobile

### Body Params

source object
source
countryCode*string

the sender's ISO country code.

name*string

the sender's full name.

accountNumber*string

the sender's bank account.

destination object
destination
type*string

the recipient's store of value type. This will always be `mobile`

countryCode*string

the recipient's ISO country code

name*string

the recipient's full name.

mobileNumber*string

the recipient's number (e.g. `0763123456`)

walletName*string

recipient's wallet name for example `Airtel` `Mpesa` `Equitel`

transfer object

transfer.description

transfer

transfer.description

type*string

the transfer mode. set to `MobileWallet`

amount*string

the amount.

currencyCode*string

the amount's ISO currency code

reference*string

the sender's reference number. unique 12 digit string for each transfer

date*string

the transfer date `ISO 8601` date format `'YYYY-MM-DD'`

description*string

any additional descriptions about the payment

### Headers

Authorization*string

the bearer token used to access the API

Content-Type*string

the content type of the payload

signature*string

A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: for transfer to Airtel & Mpesa `transfer.amount` `transfer.currencyCode` `transfer.reference` `source.accountNumber` for transfer to Equitel `source.accountNumber` `transfer.amount` `transfer.currencyCode` `transfer.reference`. The resulting text is then signed with Private Key and Base64 encoded.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`transactionId` | `string` | unique transaction id
`status` | `string` | transaction status

    curl -X POST \
        -d '{
       "source": {
          "countryCode": "KE",
          "name": "Tom Doe",
          "accountNumber": "0011547896523"
       },
       "destination": {
          "type": "mobile",
          "countryCode": "KE",
          "name": "John Doe",
          "mobileNumber": "0763555619",
          "walletName": "Equitel"
       },
       "transfer": {
          "type": "MobileWallet",
          "amount": "20",
          "currencyCode": "KES",
          "reference": "692194625798",
          "date": "2019-05-01",
          "description": "Some remarks here"
       }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/transaction-test/v2/remittance'

    {
        "transactionId": "45865",
        "status": "SUCCESS"
    }

No code samples available
Try the API to see Results

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`transactionId` | `string` | unique transaction id
`status` | `string` | transaction status

    curl -X POST \
        -d '{
       "source": {
          "countryCode": "KE",
          "name": "Tom Doe",
          "accountNumber": "0011547896523"
       },
       "destination": {
          "type": "mobile",
          "countryCode": "KE",
          "name": "John Doe",
          "mobileNumber": "0763555619",
          "walletName": "Equitel"
       },
       "transfer": {
          "type": "MobileWallet",
          "amount": "20",
          "currencyCode": "KES",
          "reference": "692194625798",
          "date": "2019-05-01",
          "description": "Some remarks here"
       }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/transaction-test/v2/remittance'

    {
        "transactionId": "45865",
        "status": "SUCCESS"
    }

Suggest Edits

## RTGS

The Real Time Gross Settlement (RTGS) web-service enables an application to send money intra-country to other bank accounts.

post https://sandbox.jengahq.io/transaction-test/v2/remittance#rtgs

### Body Params

source object
source
countryCode*string

The ISO Country Code Of The Sender Country

name*string

sender's name

accountNumber*string

sender's bank account number

destination object
destination
type*string

destination type

countryCode*string

destination ISO country code

name*string

recipient's name

bankCode*string

recipient's bank code

accountNumber*string

recipient's bank account number

transfer object

transfer.description

transfer

transfer.description

type*string

the transfer type

amount*string

the amount. Maximum is USD 10,000 or its equivalent per transaction.

currencyCode*string

the ISO currency code of the amount

reference*string

the sender's reference number. unique 12 digit string for each transaction

date*string

the transfer date `ISO 8601` date format `'YYYY-MM-DD'`

description*string

any additional info you may want to add

### Headers

Authorization*string

the bearer token used to access the API

Content-Type*string

the content type of the payload

signature*string

A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: `transfer.reference` `transfer.date` `source.accountNumber, destination.accountNumber` `transfer.amount`. The resulting text is then signed with Private Key and Base64 encoded.

> ### ❗️

> CDD - KYC & CFT

> In line with various banking regulations your send money transaction will be subjected to various verifications and you may be required to provide additional information.

> ### 🚧

> Transaction Time

> RTGS is available on weekdays between 9am and 3pm. If you send after these hours, your transaction will be queued and sent at the next available transaction window.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`transactionId` | `string` | unique transaction id
`status` | `string` | transaction status

    curl -X POST \
        -d '{
        "source": {
            "countryCode": "KE",
            "name": "John Doe",
            "accountNumber": "0011547896523"
        },
        "destination": {
            "type": "bank",
            "countryCode": "KE",
            "name": "Tom Doe",
            "bankCode": "70",
            "accountNumber": "12365489"
        },
        "transfer": {
            "type": "RTGS",
            "amount": "4.00",
            "currencyCode": "KES",
            "reference": "692194625798",
            "date": "2019-05-01",
            "description": "Some remarks here"
        }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/transaction-test/v2/remittance'

    {
        "transactionId": "000000403777",
        "status": "SUCCESS"
    }

No code samples available
Try the API to see Results

> ### ❗️

> CDD - KYC & CFT

> In line with various banking regulations your send money transaction will be subjected to various verifications and you may be required to provide additional information.

> ### 🚧

> Transaction Time

> RTGS is available on weekdays between 9am and 3pm. If you send after these hours, your transaction will be queued and sent at the next available transaction window.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`transactionId` | `string` | unique transaction id
`status` | `string` | transaction status

    curl -X POST \
        -d '{
        "source": {
            "countryCode": "KE",
            "name": "John Doe",
            "accountNumber": "0011547896523"
        },
        "destination": {
            "type": "bank",
            "countryCode": "KE",
            "name": "Tom Doe",
            "bankCode": "70",
            "accountNumber": "12365489"
        },
        "transfer": {
            "type": "RTGS",
            "amount": "4.00",
            "currencyCode": "KES",
            "reference": "692194625798",
            "date": "2019-05-01",
            "description": "Some remarks here"
        }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/transaction-test/v2/remittance'

    {
        "transactionId": "000000403777",
        "status": "SUCCESS"
    }

Suggest Edits

## SWIFT

The swift web-service enables your application to send cross-border remittances .

post https://sandbox.jengahq.io/transaction-test/v2/remittance#swift

### Body Params

source object
source
countryCode*string

destination ISO country code

name*string

sender's name

accountNumber*string

sender's bank account number

destination object
destination
type*string

recipient's store of value type.

countryCode*string

recipient's ISO country code.

name*string

recipient's name.

bankBic*string

recipient's bank BIC.

accountNumber*string

recipient's account number.

addressline1*string

recipient address

transfer object

transfer.description

transfer

transfer.description

type*string

type of transfer. In this case its `SWIFT`.

amount*string

amount. Maximum is USD 10,000 or its currency equivalent

currencyCode*string

amount's ISO currency code.

reference*string

the sender's reference number. unique 12 digit string for each transaction

date*string

transfer date `ISO 8601` date format `'YYYY-MM-DD'`

description*string

additional payment details.

chargeOption*string

charge option. Can be one of `SELF` `OTHER`. `SELF` - Correspondent bank charges are levied on us as the bank hence we charge an upfront extra $20 on the sender to cover for some of that cost. It will be reviewed upwards from time to time `OTHER` - Correspondent bank charges are levied on funds in transit

### Headers

Authorization*string

the bearer token used to access the API

Content-Type*string

the content type of the payload

signature*string

A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: `transfer.reference` `transfer.date` `source.accountNumber` `destination.accountNumber` `transfer.amount`. The resulting text is then signed with Private Key and Base64 encoded.

> ### ❗️

> CDD - KYC & CFT

> In line with various banking regulations your send money transaction will be subjected to various verifications and you may be required to provide additional information.

> ### 🚧

> Transaction Time

> Depending on the destination bank and country, Swift payments may take up to 72 hours to reach the recipient.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`transactionId` | `string` | unique transaction id
`status` | `string` | transaction status

    curl -X POST \
        -d '{
       "source": {
          "countryCode": "KE",
          "name": "John Doe",
          "accountNumber": "0011547896523"
       },
       "destination": {
          "type": "bank",
          "countryCode": "JP",
          "name": "Tom Doe",
          "bankBic": "BOTKJPJTXXX",
          "accountNumber": "12365489",
          "addressline1": "Post Box 56"
       },
       "transfer": {
          "type": "SWIFT",
          "amount": "4.00",
          "currencyCode": "USD",
          "reference": "692194625798",
          "date": "2019-05-01",
          "description": "Some remarks here",
          "chargeOption": "SELF"
       }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/transaction-test/v2/remittance'

    {
        "transactionId": "000000403794",
        "status": "SUCCESS"
    }

No code samples available
Try the API to see Results

> ### ❗️

> CDD - KYC & CFT

> In line with various banking regulations your send money transaction will be subjected to various verifications and you may be required to provide additional information.

> ### 🚧

> Transaction Time

> Depending on the destination bank and country, Swift payments may take up to 72 hours to reach the recipient.

200 Success Response Schema

Field Name | Field Type | Field Description
--- | --- | ---
`transactionId` | `string` | unique transaction id
`status` | `string` | transaction status

    curl -X POST \
        -d '{
       "source": {
          "countryCode": "KE",
          "name": "John Doe",
          "accountNumber": "0011547896523"
       },
       "destination": {
          "type": "bank",
          "countryCode": "JP",
          "name": "Tom Doe",
          "bankBic": "BOTKJPJTXXX",
          "accountNumber": "12365489",
          "addressline1": "Post Box 56"
       },
       "transfer": {
          "type": "SWIFT",
          "amount": "4.00",
          "currencyCode": "USD",
          "reference": "692194625798",
          "date": "2019-05-01",
          "description": "Some remarks here",
          "chargeOption": "SELF"
       }
    }'  \
        -H 'Authorization: Bearer {access_token}'  \
        -H 'Content-Type: application/json'  \
        -H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
        -L 'https://sandbox.jengahq.io/transaction-test/v2/remittance'

    {
        "transactionId": "000000403794",
        "status": "SUCCESS"
    }

Suggest Edits

## EFT

Send Money To Other Banks Via Electronic Funds Transfer (EFT)

Suggest Edits

## Pesalink - To Bank Account

This web service enables an application to send money to a PesaLink participating bank. It is restricted to Kenya.

Suggest Edits

## Pesalink - To Mobile Number

This service enables the

Suggest Edits

## Account Inquiry - Pesalink Banks

This webservice returns the recipients’ Linked Banks linked to the provided phone number on PesaLink

Suggest Edits

## Transaction Status

Use this API to check the status of a B2C transaction

Suggest Edits

## Receive Payments - Eazzypay Push

This API Provides Merchants Capability To Initiate Payments For Goods And Services. The Customer Validates The Payment Request On Their Phone To Complete The Transaction

Suggest Edits

## Receive Payments - Lipa na M-Pesa Online

This API Provides Merchants Capability To Initiate Payments For Goods And Services. The Customer Validates The Payment Request On Their Phone To Complete The Transaction

Suggest Edits

## Receive Payments - Bill Payments

This API Provides Partners the Capability To Initiate Utility Bill Payments For Goods And Services

Suggest Edits

## Receive Payments - Merchant Payments

This API Provides Partners the Capability To Make Payments For Goods And Services

Suggest Edits

## Bill Validation

This web service enables your application perform a bill validation. This is typically before a payment is made for example before paying a utility bill you would like the payment application to validate it actually exists and its details are correct

Suggest Edits

## Refund Payment - Eazzypay Push

This web service allows a payment to be voided completely or partially.

Suggest Edits

## Get All EazzyPay Merchants

This webservice returns all EazzyPay merchants .

Suggest Edits

## Get Payment Status - Eazzypay Push

The webservice enables an application track the status of a payment that is linked to the `
Receive Payments - Eazzypay Push` web service especially in failure states.

Suggest Edits

## Query Transaction Details

This webservice enables an application or service to query a transactions details and status

Suggest Edits

## Get All Billers

This web service returns a paginated list of all billers

Suggest Edits

## Purchase Airtime

This gives an application the ability to purchase airtime from any telco in East and Central Africa.

Suggest Edits

## Get Forex Rates

The Foreign Exchange Rates API Provides Easy Access To The Equity Bank Daily Currency Conversion Rate For Major Currencies

Suggest Edits

## ID Search & Verification

This web service enables your application to query the various registrar of persons in the various countries in East Africa. Currently available for Kenya and Rwanda only.

Suggest Edits

## Error responses

The following tables provides examples of downstream provider error responses