> This page is for Taurus PRIME.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://taurushq.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://taurushq.ferndocs.com/_mcp/server.

# Account Information

# Account Personal Information

This guide covers retrieving and managing account and user profile information.

## Overview

Account information is organized in the User → Client Account → Sub-Account hierarchy:

* **User**: Your login identity and preferences
* **Client Account**: Legal entity information (KYC data)
* **Sub-Accounts**: Trading portfolios

## Prerequisites

* Authenticated session (JWT or API key)
* `CanRead` permission

---

## Part 1: Current User Information

### Get Current User Profile

Retrieve information about the authenticated user.

**Endpoint:** `GET /api/rest/v1/users/me`

#### Request

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/users/me" \
  -H "Authorization: Bearer <access-token>"
```

#### Response (200 OK)

```json
{
  "result": {
    "id": "user-uuid",
    "clientAccountId": "client-account-uuid",
    "username": "john.doe@example.com",
    "firstname": "John",
    "lastname": "Doe",
    "email": "john.doe@example.com",
    "phoneNumber": "+41791234567",
    "status": "STATUS_ACTIVE",
    "type": "TYPE_FRONT_OFFICE",
    "MFAEnabled": true,
    "permissions": {
      "canRead": true,
      "canTrade": true,
      "canWithdraw": true,
      "canDeposit": true,
      "canWrite": true,
      "canManage": false
    },
    "subAccounts": [
      {
        "id": "sub-account-uuid-1",
        "name": "Main Trading",
        "permissions": {
          "canRead": true,
          "canTrade": true,
          "canWithdraw": true,
          "canDeposit": true
        }
      }
    ],
    "createdAt": "2023-06-01T10:00:00Z",
    "updatedAt": "2024-01-15T09:30:00Z"
  }
}
```

### User Status Values

| Status                          | Description             |
| ------------------------------- | ----------------------- |
| `STATUS_ACTIVE`                 | Normal operation        |
| `STATUS_INACTIVE`               | Account deactivated     |
| `STATUS_PENDING_MFA`            | MFA setup required      |
| `STATUS_PENDING_PASSWORD_RESET` | Password reset required |

### User Types

| Type                | Description             |
| ------------------- | ----------------------- |
| `TYPE_FRONT_OFFICE` | Regular trader/investor |
| `TYPE_BACK_OFFICE`  | Platform administrator  |
| `TYPE_SYSTEM`       | System account          |

---

## Part 2: User Preferences

### Get User Preferences

**Endpoint:** `GET /api/rest/v1/users/me/preferences`

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/users/me/preferences" \
  -H "Authorization: Bearer <access-token>"
```

#### Response (200 OK)

```json
{
  "result": {
    "id": "preferences-uuid",
    "userId": "user-uuid",
    "language": "LANGUAGE_ENGLISH",
    "notifications": {
      "orderPlacement": true,
      "orderConfirmation": true,
      "orderCancellation": true,
      "settlementLine": true
    },
    "createdAt": "2024-01-15T10:00:00Z",
    "updatedAt": "2024-01-15T10:00:00Z"
  }
}
```

#### Preference Fields

| Field                             | Type      | Description                                                                          |
| --------------------------------- | --------- | ------------------------------------------------------------------------------------ |
| `id`                              | UUID      | Preferences record ID                                                                |
| `userId`                          | UUID      | User ID                                                                              |
| `language`                        | enum      | Language preference (e.g., `LANGUAGE_ENGLISH`, `LANGUAGE_GERMAN`, `LANGUAGE_FRENCH`) |
| `notifications`                   | object    | Notification settings                                                                |
| `notifications.orderPlacement`    | boolean   | Notify on order placement                                                            |
| `notifications.orderConfirmation` | boolean   | Notify on order confirmation                                                         |
| `notifications.orderCancellation` | boolean   | Notify on order cancellation                                                         |
| `notifications.settlementLine`    | boolean   | Notify on settlement                                                                 |
| `createdAt`                       | timestamp | Creation time                                                                        |
| `updatedAt`                       | timestamp | Last update time                                                                     |

### Update User Preferences

**Endpoint:** `PUT /api/rest/v1/users/me/preferences`

```bash
curl -X PUT "https://api.t-dx.com/api/rest/v1/users/me/preferences" \
  -H "Authorization: Bearer <access-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "language": "LANGUAGE_GERMAN",
    "notifications": {
      "orderPlacement": true,
      "orderConfirmation": true,
      "orderCancellation": false,
      "settlementLine": true
    }
  }'
```

---

## Part 3: Client Account Information

### Get My Client Account

Retrieve the legal entity information for your Client Account.

**Endpoint:** `GET /api/rest/v1/client-accounts/mine`

#### Request

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/client-accounts/mine" \
  -H "Authorization: Bearer <access-token>"
```

#### Response (200 OK)

```json
{
  "result": {
    "id": "client-account-uuid",
    "status": "STATUS_ACTIVE",
    "verificationStatus": "VERIFICATION_STATUS_VERIFIED",
    "type": "TYPE_NOMINATIVE",
    "legalName": "John Doe",
    "classification": "CLASSIFICATION_RETAIL",
    "taxResidency": "CH",
    "createdAt": "2023-06-01T10:00:00Z",
    "updatedAt": "2024-01-15T10:00:00Z"
  }
}
```

### Client Account Status

| Status             | Description                    |
| ------------------ | ------------------------------ |
| `STATUS_ACTIVE`    | Normal operation               |
| `STATUS_INACTIVE`  | Account deactivated            |
| `STATUS_SUSPENDED` | Account suspended (compliance) |

### Verification Status

| Status                                 | Description                          |
| -------------------------------------- | ------------------------------------ |
| `VERIFICATION_STATUS_UNVERIFIED`       | No KYC submitted                     |
| `VERIFICATION_STATUS_PENDING_APPROVAL` | KYC under review                     |
| `VERIFICATION_STATUS_APPROVED`         | KYC approved                         |
| `VERIFICATION_STATUS_PENDING_VERIFY`   | Approved, pending final verification |
| `VERIFICATION_STATUS_VERIFIED`         | Fully verified, trading enabled      |
| `VERIFICATION_STATUS_REJECTED`         | KYC rejected                         |

### Client Account Types

| Type              | Description         |
| ----------------- | ------------------- |
| `TYPE_NOMINATIVE` | Individual investor |
| `TYPE_SOCIETY`    | Corporate entity    |
| `TYPE_BANK`       | Banking institution |

---

## Part 4: Sub-Account Information

### List My Sub-Accounts

**Endpoint:** `GET /api/rest/v1/sub-accounts/mine`

#### Request

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/sub-accounts/mine" \
  -H "Authorization: Bearer <access-token>"
```

#### Query Parameters

This endpoint supports [standard pagination, sorting, and filtering](/prime/docs/api-gett-making-requests#pagination).

#### Response (200 OK)

```json
{
  "result": [
    {
      "id": "7376524e-6b6b-4137-9719-7e07a7709804",
      "clientAccountId": "8aee564e-2eb1-4a57-b686-05476c2cfd93",
      "type": "TYPE_MAIN",
      "venue": "VENUE_MARKETPLACE",
      "name": "Main Trading Account",
      "pairs": [],
      "createdAt": "2023-06-01T10:00:00Z",
      "updatedAt": "2023-06-01T10:00:00Z"
    },
    {
      "id": "9e68ec8c-c978-4ea2-b511-98d4df38f353",
      "clientAccountId": "8aee564e-2eb1-4a57-b686-05476c2cfd93",
      "type": "TYPE_SUB",
      "venue": "VENUE_OTC",
      "name": "OTC Portfolio",
      "pairs": ["btc-chf-pair-uuid", "eth-chf-pair-uuid"],
      "createdAt": "2023-07-15T14:00:00Z",
      "updatedAt": "2023-07-15T14:00:00Z"
    }
  ],
  "pagination": {
    "cursors": {
      "self": "eyJTb3J0cyI6W10sIkZpbHRlcnMiOltdLCJJc0ZpcnN0Ijp0cnVlfQ==",
      "first": "eyJTb3J0cyI6W10sIkZpbHRlcnMiOltdLCJJc0ZpcnN0Ijp0cnVlfQ==",
      "last": "",
      "next": "",
      "previous": ""
    }
  }
}
```

### Get Single Sub-Account

**Endpoint:** `GET /api/rest/v1/sub-accounts/{id}`

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/sub-accounts/7376524e-6b6b-4137-9719-7e07a7709804" \
  -H "Authorization: Bearer <access-token>"
```

#### Response (200 OK)

```json
{
  "result": {
    "id": "7376524e-6b6b-4137-9719-7e07a7709804",
    "clientAccountId": "8aee564e-2eb1-4a57-b686-05476c2cfd93",
    "type": "TYPE_MAIN",
    "venue": "VENUE_MARKETPLACE",
    "name": "Main Trading Account",
    "pairs": [],
    "createdAt": "2023-06-01T10:00:00Z",
    "updatedAt": "2023-06-01T10:00:00Z"
  }
}
```

### Sub-Account Types

| Type           | Description             |
| -------------- | ----------------------- |
| `TYPE_MAIN`    | Primary trading account |
| `TYPE_SUB`     | Additional portfolio    |
| `TYPE_CUSTODY` | Custody-only account    |

### Sub-Account Venues

| Venue               | Description                                    |
| ------------------- | ---------------------------------------------- |
| `VENUE_MARKETPLACE` | Trading on the Marketplace                     |
| `VENUE_OTC`         | Over-the-counter trading with external dealers |

### Pair Restrictions

* **Empty `pairs` array**: Access to all trading pairs
* **Non-empty `pairs` array**: Access limited to listed pair IDs

---

## Part 5: List Users (Account Manager)

If you have `CanManage` permission, list all users in your Client Account.

**Endpoint:** `GET /api/rest/v1/users`

#### Request

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/users" \
  -H "Authorization: Bearer <access-token>"
```

#### Query Parameters

This endpoint supports [standard pagination, sorting, and filtering](/prime/docs/api-gett-making-requests#pagination).

#### Response (200 OK)

```json
{
  "result": [
    {
      "id": "user-uuid-1",
      "clientAccountId": "client-account-uuid",
      "username": "john.doe@example.com",
      "firstname": "John",
      "lastname": "Doe",
      "email": "john.doe@example.com",
      "status": "STATUS_ACTIVE",
      "type": "TYPE_FRONT_OFFICE",
      "MFAEnabled": true,
      "createdAt": "2023-06-01T10:00:00Z"
    },
    {
      "id": "user-uuid-2",
      "clientAccountId": "client-account-uuid",
      "username": "jane.smith@example.com",
      "firstname": "Jane",
      "lastname": "Smith",
      "email": "jane.smith@example.com",
      "status": "STATUS_ACTIVE",
      "type": "TYPE_FRONT_OFFICE",
      "MFAEnabled": true,
      "createdAt": "2023-07-15T14:00:00Z"
    }
  ],
  "pagination": {
    "cursors": {
      "self": "eyJTb3J0cyI6W10sIkZpbHRlcnMiOltdLCJJc0ZpcnN0Ijp0cnVlfQ==",
      "first": "eyJTb3J0cyI6W10sIkZpbHRlcnMiOltdLCJJc0ZpcnN0Ijp0cnVlfQ==",
      "last": "",
      "next": "",
      "previous": ""
    }
  }
}
```

### List Users in Sub-Account

**Endpoint:** `GET /api/rest/v1/users/by-sub-account/{subAccountId}`

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/users/by-sub-account/7376524e-6b6b-4137-9719-7e07a7709804" \
  -H "Authorization: Bearer <access-token>"
```

---

## Part 6: User Attributes

User attributes store additional metadata about the user.

### List My Attributes

**Endpoint:** `GET /api/rest/v1/users/me/attributes`

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/users/me/attributes" \
  -H "Authorization: Bearer <access-token>"
```

### Get Specific Attribute

**Endpoint:** `GET /api/rest/v1/users/me/attributes/{attributeId}`

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/users/me/attributes/attribute-uuid" \
  -H "Authorization: Bearer <access-token>"
```

### Update Attributes

**Endpoint:** `POST /api/rest/v1/users/me/attributes`

```bash
curl -X POST "https://api.t-dx.com/api/rest/v1/users/me/attributes" \
  -H "Authorization: Bearer <access-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "attributes": [
      {
        "type": "preference",
        "subType": "ui",
        "key": "theme",
        "value": "dark",
        "contentType": "text/plain"
      }
    ]
  }'
```

### Delete Attribute

**Endpoint:** `DELETE /api/rest/v1/users/me/attributes/{attributeId}`

```bash
curl -X DELETE "https://api.t-dx.com/api/rest/v1/users/me/attributes/attribute-uuid" \
  -H "Authorization: Bearer <access-token>"
```

---

## Part 7: Client Account Attributes

### List My Client Account Attributes

**Endpoint:** `GET /api/rest/v1/client-accounts/mine/attributes`

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/client-accounts/mine/attributes" \
  -H "Authorization: Bearer <access-token>"
```

### Get Specific Client Account Attribute

**Endpoint:** `GET /api/rest/v1/client-accounts/mine/attributes/{attributeId}`

```bash
curl -X GET "https://api.t-dx.com/api/rest/v1/client-accounts/mine/attributes/attribute-uuid" \
  -H "Authorization: Bearer <access-token>"
```

---

## Summary: Information Hierarchy

| Level          | Endpoint                    | Contains                                 |
| -------------- | --------------------------- | ---------------------------------------- |
| User           | `GET /users/me`             | Login identity, permissions, preferences |
| Client Account | `GET /client-accounts/mine` | Legal entity, KYC status, verification   |
| Sub-Account    | `GET /sub-accounts/mine`    | Portfolios, venues, pair restrictions    |

## Error Scenarios

| Status | Code                | Description                      |
| ------ | ------------------- | -------------------------------- |
| 401    | `UNAUTHENTICATED`   | Invalid or expired token         |
| 403    | `PERMISSION_DENIED` | Cannot access requested resource |
| 404    | `NOT_FOUND`         | Account or user not found        |

## Related

* [Authentication](/prime/docs/api-usec-01-authentication) - Authentication flow
* [Wallet Information](/prime/docs/api-usec-03-wallet-information) - Balance information
* [Domains: Accounts](/prime/docs/api-doma-acco-accounts) - Full account API reference
* [Domains: Core Concepts](/prime/docs/api-doma-core-concepts) - Core concepts