API Documentation e

API Documentation

Introduction

Bybit Bot PaaS API

Getting Started

To use this API, you will need an access token. Make sure you include the token in the headers for each request. For example:

Authorization: Bearer your_access_token_here
        

Endpoints

All endpoints listed

  • Authentication
  • User Management (Admin)
  • User APIs

Authentication

POST /auth/login

Description:

User and Admin login.

Request:

{
    "user_id": "user123",
    "password": "securepassword"
}

Response:

{
    "status": "success",
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "refresh_token": "d2Y1cGVyZnJl...",
    "expires_in": 3600,
    "message": "Login successful"
}
POST /auth/token/refresh

Description:

Refresh access token.

Request:

{
    "refresh_token": "d2Y1cGVyZnJl..."
}

Response:

{
    "status": "success",
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expires_in": 3600,
    "message": "Token refreshed successfully"
}
POST /auth/logout

Description:

Revoke refresh token (Logout).

Request:

{
    "refresh_token": "d2Y1cGVyZnJl..."
}

Response:

{
    "status": "success",
    "message": "Logout successful"
}

User Management (Admin)

GET /admin/users

Description:

Get list of all users.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": [
        {
            "user_id": "user123",
            "email": "user123@example.com",
            "status": "active",
            "time_remain": 120
        },
        {
            "user_id": "user456",
            "email": "user456@example.com",
            "status": "inactive",
            "time_remain": 0
        }
    ]
}
GET /admin/users/{user_id}

Description:

Get details for a specific user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "user_id": "user123",
        "email": "user123@example.com",
        "status": "active",
        "time_remain": 120
    }
}
POST /admin/users

Description:

Create a new user.

Request:

{
    "user_id": "newuser",
    "password": "securepassword",
    "email": "newuser@example.com",
    "time_remain": 120
}

Response:

{
    "status": "success",
    "message": "User created successfully"
}
PUT /admin/users/{user_id}

Description:

Update a user's details.

Request:

{
    "email": "updateduser@example.com",
    "status": "active",
    "time_remain": 200
}

Response:

{
    "status": "success",
    "message": "User updated successfully"
}
DELETE /admin/users/{user_id}

Description:

Delete a user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "message": "User deleted successfully"
}
POST /admin/users/{user_id}/topup

Description:

Top up time remain for a user.

Request:

{
    "time_to_add": 30
}

Response:

{
    "status": "success",
    "message": "Time remain updated successfully"
}
GET /admin/users/{user_id}/usage

Description:

Check user usage statistics.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "total_orders": 150,
        "active_orders": 5,
        "canceled_orders": 30,
        "completed_orders": 115
    }
}

User APIs

GET /user/profile

Description:

Get user profile and account details.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "user_id": "user123",
        "email": "user123@example.com",
        "status": "active",
        "time_remain": 120
    }
}
GET /user/config

Description:

Get bot configuration for the user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "bot_id": "bot123",
        "max_trades": 10,
        "risk_level": "medium",
        "auto_stop": true
    }
}
PUT /user/config

Description:

Update bot configuration for the user.

Request:

{
    "max_trades": 20,
    "risk_level": "low",
    "auto_stop": false
}

Response:

{
    "status": "success",
    "message": "Bot configuration updated successfully"
}
GET /user/signals

Description:

Get available trading signals for the user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": [
        {
            "signal_id": "sig123",
            "symbol": "BTCUSDT",
            "entry_price": "28000",
            "stop_loss": "27000",
            "take_profit": [29000, 30000, 31000]
        }
    ]
}
GET /user/limits

Description:

Get current usage limits for the user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "max_users": 100,
        "current_users": 85,
        "max_trades": 1000,
        "remaining_trades": 500
    }
}

User APIs

GET /user/profile

Description:

Get user profile and account details.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "user_id": "user123",
        "email": "user123@example.com",
        "status": "active",
        "time_remain": 120
    }
}
GET /user/config

Description:

Get bot configuration for the user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "trade_account": "demo",
        "demo_api_key": "7EGcCCVUaptTXfq5bE",
        "demo_api_secret": "bkmVE417P1NwNgkJosNTi5MTT0VukhVpAqV",
        "live_api_key": "9faVTxkYErYjkzTxgGQpRVNWiOaXPL8b",
        "live_api_secret": "w6yMwS1P3G7Z8hTtTxpT9T1XzO5OaVXa",
        "tp_mode": "Multiple Order",
        "balance_per_trade": 1000,
        "stop_loss_percent": 100,
        "trailing_stop": "Enable",
        "fixed_leverage": 0,
        "tp_percentages": {
            "TP1": 100,
            "TP2": 100,
            "TP3": 100,
            "TP4": 100,
            "TP5": 100,
            "TP6": 100,
            "TP7": 100,
            "TP8": 100,
            "TP9": 100,
            "TP10": 100
        }
    }
}
PUT /user/config

Description:

Update bot configuration for the user.

Request:

{
    "trade_account": "live",
    "demo_api_key": "7EGcCCVUaptTXfq5bE",
    "demo_api_secret": "bkmVE417P1NwNgkJosNTi5MTT0VukhVpAqV",
    "live_api_key": "9faVTxkYErYjkzTxgGQpRVNWiOaXPL8b",
    "live_api_secret": "w6yMwS1P3G7Z8hTtTxpT9T1XzO5OaVXa",
    "tp_mode": "Multiple Order",
    "balance_per_trade": 1000,
    "stop_loss_percent": 100,
    "trailing_stop": "Enable",
    "fixed_leverage": 0,
    "tp_percentages": {
        "TP1": 100,
        "TP2": 100,
        "TP3": 100,
        "TP4": 100,
        "TP5": 100,
        "TP6": 100,
        "TP7": 100,
        "TP8": 100,
        "TP9": 100,
        "TP10": 100
    }
}

Response:

{
    "status": "success",
    "message": "Bot configuration updated successfully"
}
GET /user/signals

Description:

Get available trading signals for the user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": [
        {
            "signal_id": "sig123",
            "symbol": "BTCUSDT",
            "entry_price": "28000",
            "stop_loss": "27000",
            "take_profit": [29000, 30000, 31000]
        }
    ]
}
GET /user/limits

Description:

Get current usage limits for the user.

Request:

{
    "Authorization": "Bearer your_access_token_here"
}

Response:

{
    "status": "success",
    "data": {
        "max_users": 100,
        "current_users": 85,
        "max_trades": 1000,
        "remaining_trades": 500
    }
}