× Docs Platform Dashboard Extensions Applications Building Merchants Sign in

Accounts

The second requirement for creating transactions (after the currency) is an account. Accounts are containers that store user balances in relation to specific currencies. In addition, accounts may have other settings or permissions attached to them depending on the company’s use-case.

Generally, every user in the platform will require one or more accounts. Each one of these accounts may have several currencies within them. How you create these accounts and sub currencies is up to the individual developers implementing the platform. There are two primary ways this can be done:

  1. Using account definitions to define a list of allowed accounts and automate whether the account is added to a new user on registration. This is best done via the dashboard.
  2. Manually invoking the admin endpoints to create accounts and currencies as needed.

The former is usually preferred unless you have very specific requirements or intend building a complete abstraction on top of the platform.

Object

A full account object with a single currency looks like:

{
    "name": "default",
    "label": "Default",
    "reference": "0000000000",
    "definition": null,
    "primary": true,
    "user": {
        "id": "00000000-0000-0000-0000-000000000000",
        "username": null,
        "email": "[email protected]",
        "mobile": "+27840000000",
        "first_name": "Joe",
        "last_name": "Soap",
        "profile": null
    },
    "currencies": [
        {
            "balance": 0,
            "available_balance": 0,
            "currency": {
                "code": "USD",
                "description": "United States dollar",
                "symbol": "$",
                "unit": "dollar",
                "divisibility": 2
            },
            "limits": [],
            "fees": [],
            "active": true,
            "settings": {
                "allow_transactions": true,
                "allow_debit_transactions": true,
                "allow_credit_transactions": true
            },
            "archived": false,
            "created": 1538573021547,
            "updated": 1538573021547
        }
    ],
    "archived": false,
    "created": 1538573021502,
    "updated": 1538573021502
}

Endpoints

To view or modify an account or its currencies you can use the following endpoints. Keep in mind, when accounts are used in other places within the API, they are always identified by their reference.

Take a look at the API Reference for the list of account endpoints.

All endpoints that contain /accounts/ in their URL path are used for handling accounts.

Usage

Usage remains the same for all endpoints in Rehive. Simply invoke one of the allowed HTTP methods with the correct Content-Type and an Authorization header.