Admin
Admin dashboard - user management, platform statistics, and system configuration (requires admin role)
List Users
Authorization
HTTPBearer In: header
Query Parameters
Page number
11 <= valueItems per page
101 <= value <= 100Search email or name
Filter by role
Filter by status
Filter by tier
Response Body
application/json
application/json
curl -X GET "https://loading/api/admin/users"{
"users": [
{
"id": "string",
"email": "string",
"firstName": "",
"lastName": "",
"role": "admin",
"subscriptionTier": "free",
"status": "active",
"createdAt": "string",
"lastLogin": "string",
"emailVerified": false,
"twoFactorEnabled": false,
"totalTrades": 0,
"accountBalance": 0,
"avatar": "string"
}
],
"total": 0,
"page": 0,
"limit": 0
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get User
Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/admin/users/string"{
"id": "string",
"email": "string",
"firstName": "",
"lastName": "",
"role": "admin",
"subscriptionTier": "free",
"status": "active",
"createdAt": "string",
"lastLogin": "string",
"emailVerified": false,
"twoFactorEnabled": false,
"totalTrades": 0,
"accountBalance": 0,
"avatar": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Update User
Authorization
HTTPBearer In: header
Path Parameters
Request Body
application/json
Response Body
application/json
application/json
curl -X PATCH "https://loading/api/admin/users/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"email": "string",
"firstName": "",
"lastName": "",
"role": "admin",
"subscriptionTier": "free",
"status": "active",
"createdAt": "string",
"lastLogin": "string",
"emailVerified": false,
"twoFactorEnabled": false,
"totalTrades": 0,
"accountBalance": 0,
"avatar": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Delete User
Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://loading/api/admin/users/string"{
"property1": true,
"property2": true
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}curl -X GET "https://loading/api/admin/stats"{
"totalUsers": 0,
"activeUsers": 0,
"suspendedUsers": 0,
"newUsersThisMonth": 0,
"totalRevenue": 0
}Bulk Action
Authorization
HTTPBearer In: header
Request Body
application/json
"activate" | "suspend" | "delete" | "export"Response Body
application/json
application/json
curl -X POST "https://loading/api/admin/users/bulk-action" \ -H "Content-Type: application/json" \ -d '{ "userIds": [ "string" ], "action": "activate" }'{
"property1": true,
"property2": true
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Reset Password
Authorization
HTTPBearer In: header
Query Parameters
User ID
User email
Send email with new password
trueResponse Body
application/json
application/json
curl -X POST "https://loading/api/admin/users/reset-password?userId=string&email=string"{
"property1": true,
"property2": true
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get User Activity
Authorization
HTTPBearer In: header
Path Parameters
Query Parameters
201 <= value <= 100Response Body
application/json
application/json
curl -X GET "https://loading/api/admin/users/string/activity"[
{}
]{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Create Command Center Task
Authorization
HTTPBearer In: header
Request Body
application/json
3 <= length <= 200"medium""critical" | "high" | "medium" | "low""bitcainnet/bitcainnet""human"Response Body
application/json
application/json
curl -X POST "https://loading/api/admin/command-center/tasks" \ -H "Content-Type: application/json" \ -d '{ "title": "string" }'{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Update Command Center Task
Authorization
HTTPBearer In: header
Path Parameters
agent_tasks UUID
Request Body
application/json
Response Body
application/json
application/json
curl -X PATCH "https://loading/api/admin/command-center/tasks/string" \ -H "Content-Type: application/json" \ -d '{}'{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Create Command Center Task Comment
Authorization
HTTPBearer In: header
Path Parameters
agent_tasks UUID
Request Body
application/json
1 <= length <= 5000Response Body
application/json
application/json
curl -X POST "https://loading/api/admin/command-center/tasks/string/comments" \ -H "Content-Type: application/json" \ -d '{ "body": "string" }'{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Rag Settings
Authorization
HTTPBearer In: header
Response Body
application/json
curl -X GET "https://loading/api/v1/admin/rag-settings"{
"id": "string",
"enabled_sources": {
"property1": true,
"property2": true
},
"collection_limits": {
"property1": 0,
"property2": 0
},
"collection_interval_minutes": 5,
"auto_expiration_days": 1,
"max_posts_per_run": 100,
"version": 0,
"created_at": "string",
"updated_at": "string",
"updated_by": "string"
}Update Rag Settings
Authorization
HTTPBearer In: header
Request Body
application/json
Map of source names to enabled status
Map of source names to max post limits
Collection interval in minutes (5-180)
Auto-expiration in days (1-365)
Max posts per collection run (100-10000)
Current version for optimistic locking (prevents conflicts)
Response Body
application/json
application/json
curl -X PUT "https://loading/api/v1/admin/rag-settings" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"enabled_sources": {
"property1": true,
"property2": true
},
"collection_limits": {
"property1": 0,
"property2": 0
},
"collection_interval_minutes": 5,
"auto_expiration_days": 1,
"max_posts_per_run": 100,
"version": 0,
"created_at": "string",
"updated_at": "string",
"updated_by": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}List Api Keys
Authorization
HTTPBearer In: header
Query Parameters
falseResponse Body
application/json
application/json
curl -X GET "https://loading/api/v1/admin/api-keys"[
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"provider": "openai",
"key_prefix": "string",
"is_active": true,
"last_used_at": "2019-08-24T14:15:22Z",
"usage_count": 0,
"last_rotated_at": "2019-08-24T14:15:22Z",
"rotation_reminder_days": 90,
"next_rotation_date": "2019-08-24T14:15:22Z",
"notes": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe"
}
]{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Create Api Key
Authorization
HTTPBearer In: header
Request Body
application/json
"openai" | "anthropic" | "gemini" | "openrouter" | "perplexity" | "brave" | "duckduckgo"Plaintext API key to encrypt
10 <= lengthDays between rotation reminders (30-365)
9030 <= value <= 365Optional notes
Response Body
application/json
application/json
curl -X POST "https://loading/api/v1/admin/api-keys" \ -H "Content-Type: application/json" \ -d '{ "provider": "openai", "api_key": "stringstri" }'{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"provider": "openai",
"key_prefix": "string",
"is_active": true,
"last_used_at": "2019-08-24T14:15:22Z",
"usage_count": 0,
"last_rotated_at": "2019-08-24T14:15:22Z",
"rotation_reminder_days": 90,
"next_rotation_date": "2019-08-24T14:15:22Z",
"notes": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Delete Api Key
Authorization
HTTPBearer In: header
Path Parameters
uuidResponse Body
application/json
curl -X DELETE "https://loading/api/v1/admin/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Update Api Key
Authorization
HTTPBearer In: header
Path Parameters
uuidRequest Body
application/json
Activate or deactivate key
Update rotation reminder interval
Update notes
Mark key as rotated (updates next_rotation_date)
Response Body
application/json
application/json
curl -X PUT "https://loading/api/v1/admin/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"provider": "openai",
"key_prefix": "string",
"is_active": true,
"last_used_at": "2019-08-24T14:15:22Z",
"usage_count": 0,
"last_rotated_at": "2019-08-24T14:15:22Z",
"rotation_reminder_days": 90,
"next_rotation_date": "2019-08-24T14:15:22Z",
"notes": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Test Api Key
Authorization
HTTPBearer In: header
Path Parameters
uuidResponse Body
application/json
application/json
curl -X POST "https://loading/api/v1/admin/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/test"{
"provider": "openai",
"is_valid": true,
"error_message": "string",
"response_time_ms": 0,
"tested_at": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Rotation Reminders
Authorization
HTTPBearer In: header
Response Body
application/json
curl -X GET "https://loading/api/v1/admin/api-keys/rotation-reminders"[
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"provider": "openai",
"key_prefix": "string",
"next_rotation_date": "2019-08-24T14:15:22Z",
"days_until_rotation": 0
}
]