List Dealers
List all dealers with optional filtering.
Endpoint
GET /api/v3/fermata/dealer/list
Description
Returns a paginated list of dealers. Supports filtering by status. Admin only.
Authentication
Requires Bearer token authentication with admin role.
Authorization: Bearer {access_token}
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by dealer status (ACTIVE, PAUSED, ARCHIVED) |
limit | integer | No | Maximum items to return (default: 10, max: 100) |
offset | integer | No | Number of items to skip |
cursor | string | No | Cursor for next page |
Response
Returns an array of dealer objects with pagination.
| Field | Type | Description |
|---|---|---|
data | array | Array of dealer objects |
data[].dealerAccountId | string | Dealer account ID |
data[].name | string | Dealer name |
data[].status | string | Dealer status |
data[].baseCurrencies | string[] | Base currencies |
data[].riskThreshold | string | Risk threshold |
data[].linkedAccountIds | string[] | Trading account IDs of linked exchange accounts |
data[].createdAt | integer | Creation timestamp (milliseconds) |
data[].updatedAt | integer | Last update timestamp (milliseconds) |
pagination | object | Pagination metadata |
Usage
import requests
headers = {"Authorization": f"Bearer {access_token}"}
# List all active dealers
response = requests.get(
"https://cadenza-api.algo724.com/api/v3/fermata/dealer/list",
headers=headers,
params={"status": "ACTIVE", "limit": 20}
)
dealers = response.json()["data"]
for dealer in dealers:
print(f"{dealer['name']} ({dealer['dealerAccountId']}): {dealer['status']}")
curl -X GET "https://cadenza-api.algo724.com/api/v3/fermata/dealer/list?status=ACTIVE&limit=20" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Example Response
{
"data": [
{
"dealerAccountId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Main Dealer",
"status": "ACTIVE",
"baseCurrencies": ["USDT", "USDC"],
"riskThreshold": "1000000",
"linkedAccountIds": [
"660e8400-e29b-41d4-a716-446655440001"
],
"config": {},
"createdAt": 1711929600000,
"createdAtDateTime": "2025-04-01T00:00:00.000Z",
"updatedAt": 1711929700000,
"updatedAtDateTime": "2025-04-01T00:01:40.000Z"
}
],
"success": true,
"errno": 0,
"error": null,
"pagination": {
"offset": 0,
"limit": 20,
"total": 1
}
}
Error Responses
| HTTP Code | Error | Description |
|---|---|---|
| 400 | Invalid request | Invalid query parameters |
| 401 | Unauthorized | Invalid or expired access token |
| 403 | Forbidden | Requires admin role |
Example Error
{
"data": null,
"success": false,
"errno": -130003,
"error": "Invalid status filter: UNKNOWN"
}
Notes
- Admin only -- clients cannot list all dealers
- Archived dealers are excluded by default; use
status=ARCHIVEDto include them