# How to get Information About the Current API User

To retrieve complete information about the user on whose behalf the API request is being made, use the [**`POST /api/v1/user/current`**](https://api.calypso.finance/api/v1/user/current) method.

This method returns detailed information about the user, their roles, access permissions for accounts, as well as a list of accounts available to them.

#### **Request**

**Body:**

```
{
    "timestamp": 1
}
```

* **`timestamp`** (integer, int64, required): Current Unix timestamp in milliseconds (UTC). The value must be within 3 minutes of the server's current time.

#### **Response&#x20;**<mark style="color:green;">**(200 OK)**</mark>

Upon a successful request, the server returns an object with three main sections.

```
{
  "userFullInfo": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "username": "123e4567-e89b-12d3-a456-426614174000",
    "companyId": "123e4567-e89b-12d3-a456-426614174000",
    "companyName": "text",
    "active": true,
    "blocked": true,
    "roles": ["SYSTEM"]
  },
  "permissions": [
    {
      "accountId": "text",
      "accountName": "text",
      "permissionGroups": [
        {
          "groupId": 1,
          "name": "text",
          "permissionData": {
            "ANY_ADDITIONAL_PROPERTY": "text"
          }
        }
      ]
    }
  ],
  "availableAccounts": [
    {
      "account": "text",
      "name": "text"
    }
  ]
}
```

**Response Field Descriptions:**

* **`userFullInfo`**: An object containing the core user information.
  * `id` (string): The unique identifier of the user.
  * `username` (string): The username (often matches the ID).
  * `companyId` (string): The identifier of the company the user belongs to.
  * `companyName` (string): The name of the company.
  * `active` (boolean): Account activity status (`true` = active, `false` = inactive).
  * `blocked` (boolean): Account block status (`true` = blocked, `false` = not blocked).
  * `roles` (array of strings): List of the user's roles in the system (e.g., `SYSTEM`, `ADMIN`).
* **`permissions`**: An array describing the user's access rights to specific accounts.
  * `accountId` (string): The account identifier.
  * `accountName` (string): The account name.
  * `permissionGroups` (array): Permission groups for this account.
    * `groupId` (integer): The permission group identifier.
    * `name` (string): The permission group name.
    * `permissionData` (object): A dictionary with specific permissions (e.g., `canViewBalance`, `canWithdraw`).
* **`availableAccounts`**: An array listing the accounts available to the user for operations (such as selecting in a widget or reports).
  * `account` (string): The available account identifier.
  * `name` (string): The available account name.
