Welcome :tada: 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 :ramen:.

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 :tada: 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 :ramen:.

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

 

:rocket: 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 :grin:. Just that you get the hang of using our web services.

Postman Buffs

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

:rocket: 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 :grin:. Just that you get the hang of using our web services.

Postman Buffs

Ok so if you may prefer to go straight into exploring :bicyclist: 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 :no-good:. Use the below convention across all the webservices to specify the countryCode ;

KenyaKE
UgandaUG
TanzaniaTZ
RwandaRW
Democratic Republic of CongoDRC
South SudanSS
EthiopiaET

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 :earth-africa: 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 :no-good:. Use the below convention across all the webservices to specify the countryCode ;

KenyaKE
UgandaUG
TanzaniaTZ
RwandaRW
Democratic Republic of CongoDRC
South SudanSS
EthiopiaET

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 :earth-africa: 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

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

Path Params

string

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

string

account identifier. This is the API Configured Account on JengaHQ

Headers

string

bearer token used to access the API

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 :muscle:. More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field NameField TypeField Description
currencystringaccount currency
balancesarrayarray of balances
amountstringaccount balance
typestringaccount 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"
        }
    ]
}
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 :muscle:. More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field NameField TypeField Description
currencystringaccount currency
balancesarrayarray of balances
amountstringaccount balance
typestringaccount 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.

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

Path Params

string

account's country code

string

account number

Headers

string

the bearer token used to access the API

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 NameField TypeField Description
accountNumberstringaccount number
currencystringaccount currency
balancestringaccount available balance
transactionsarraytransactions list
datestringtransaction date
chequeNumberstringcheque number. Applicable to current accounts only
descriptionstringtransaction description
amountstringtransaction amount
typestringtransaction 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 NameField TypeField Description
accountNumberstringaccount number
currencystringaccount currency
balancestringaccount available balance
transactionsarraytransactions list
datestringtransaction date
chequeNumberstringcheque number. Applicable to current accounts only
descriptionstringtransaction description
amountstringtransaction amount
typestringtransaction 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 :page-with-curl: on a particular account based on a specified date range.

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

Body Params

string

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

string

account number

string

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

string

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

int32

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

string

transaction reference

string

transaction serial number

string

transaction posted date

string

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

object
runningBalance
string

account currency

double

account with this balance

Headers

string

bearer token used to access the API

string

the content type of the payload

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 :muscle:. More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field NameField TypeField Description
accountNumberstringaccount number
currencystringaccount currency
balancestringaccount balance
transactionsarraytransactions list
transactions.referencestringtransaction reference
transactions.datestringtransaction date
transactions.descriptionstringtransaction description
transactions.amountstringtransaction amount will always be the same as the account currency
transactions.serialstringtransaction serial number
transactions.postedDateTimestring
transactions.typestringtransaction type. One of;

Debit Credit
transactions.runningBalanceobjectrunning balance amount
runningBalance.currencystringrunning balance currency
runningBalance.currencystringrunning 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 :muscle:. More banks, Card associations & Mobile wallets will be coming soon.

200 Success Response Schema

Field NameField TypeField Description
accountNumberstringaccount number
currencystringaccount currency
balancestringaccount balance
transactionsarraytransactions list
transactions.referencestringtransaction reference
transactions.datestringtransaction date
transactions.descriptionstringtransaction description
transactions.amountstringtransaction amount will always be the same as the account currency
transactions.serialstringtransaction serial number
transactions.postedDateTimestring
transactions.typestringtransaction type. One of;

Debit Credit
transactions.runningBalanceobjectrunning balance amount
runningBalance.currencystringrunning balance currency
runningBalance.currencystringrunning 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

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

Body Params

string

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

string

account number

string

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

Headers

string

bearer token used to access the API

string

the content type of the payload

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 NameField TypeField Description
balancesarraybalances list
typestringbalance type end of day balance beginning of day balance
amountstringbalance 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 NameField TypeField Description
balancesarraybalances list
typestringbalance type end of day balance beginning of day balance
amountstringbalance 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 :bank: Across Kenya, Uganda, Tanzania, Rwanda & South Sudan.

 
Suggest Edits

To Mobile Wallets

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

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

Body Params

object
source
string

the sender's ISO country code.

string

the sender's full name.

string

the sender's bank account.

object
destination
string

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

string

the recipient's ISO country code

string

the recipient's full name.

string

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

string

recipient's wallet name for example Airtel Mpesa Equitel

object

transfer.description

transfer

transfer.description

string

the transfer mode. set to MobileWallet

string

the amount.

string

the amount's ISO currency code

string

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

string

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

string

any additional descriptions about the payment

Headers

string

the bearer token used to access the API

string

the content type of the payload

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 NameField TypeField Description
transactionIdstringunique transaction id
statusstringtransaction 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 NameField TypeField Description
transactionIdstringunique transaction id
statusstringtransaction 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.

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

Body Params

object
source
string

The ISO Country Code Of The Sender Country

string

sender's name

string

sender's bank account number

object
destination
string

destination type

string

destination ISO country code

string

recipient's name

string

recipient's bank code

string

recipient's bank account number

object

transfer.description

transfer

transfer.description

string

the transfer type

string

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

string

the ISO currency code of the amount

string

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

string

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

string

any additional info you may want to add

Headers

string

the bearer token used to access the API

string

the content type of the payload

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 NameField TypeField Description
transactionIdstringunique transaction id
statusstringtransaction 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 NameField TypeField Description
transactionIdstringunique transaction id
statusstringtransaction 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 :earth-africa:.

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

Body Params

object
source
string

destination ISO country code

string

sender's name

string

sender's bank account number

object
destination
string

recipient's store of value type.

string

recipient's ISO country code.

string

recipient's name.

string

recipient's bank BIC.

string

recipient's account number.

string

recipient address

object

transfer.description

transfer

transfer.description

string

type of transfer. In this case its SWIFT.

string

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

string

amount's ISO currency code.

string

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

string

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

string

additional payment details.

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

string

the bearer token used to access the API

string

the content type of the payload

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 NameField TypeField Description
transactionIdstringunique transaction id
statusstringtransaction 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 NameField TypeField Description
transactionIdstringunique transaction id
statusstringtransaction 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

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 :iphone: 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