bitcain docs
API Reference

Strategies

Trading strategy management - create, configure, and run automated strategies

Get Strategies

GET
/api/v1/strategies

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

portfolio_id?|
strategy_type?|
status?|
include_performance?boolean
Defaulttrue
limit?integer
Default50
Range1 <= value <= 200
offset?integer
Default0
Range0 <= value

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/strategies"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Create Strategy

POST
/api/v1/strategies

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Request Body

application/json

name*string
Lengthlength <= 100
description?|
strategy_type*string

Trading strategy types.

Value in"manual" | "algorithmic" | "ai_powered" | "copy_trading" | "grid_trading" | "dca" | "arbitrage" | "market_making" | "momentum" | "mean_reversion" | "scalping" | "swing_trading" | "position_trading"
symbols?array<>
timeframes?array<>
risk_level?string

Risk level enumeration.

Default"medium"
Value in"very_low" | "low" | "medium" | "high" | "very_high"
max_position_size?||
stop_loss_percentage?||
take_profit_percentage?||
max_drawdown_percentage?|
Default"20"
position_sizing_method?string
Default"fixed_amount"
Match^(fixed_amount|percentage|kelly|volatility)$
base_position_size?||
risk_per_trade?|
Default"2"
portfolio_id?|
entry_conditions?
exit_conditions?
auto_execute?boolean
Defaultfalse
max_open_positions?integer
Default5
Range1 <= value <= 20
cool_down_period?integer
Default0
Range0 <= value <= 1440
model_type?|
model_parameters?
training_data_period?|
retrain_frequency?integer
Default7
Range1 <= value <= 30
confidence_threshold?|
Default"0.7"
tags?array<>

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/strategies" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "strategy_type": "manual"  }'
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Get Strategy Details

GET
/api/v1/strategies/{strategy_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Query Parameters

include_signals?boolean
Defaulttrue
include_executions?boolean
Defaulttrue

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Delete Strategy

DELETE
/api/v1/strategies/{strategy_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Response Body

application/json

application/json

curl -X DELETE "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Update Strategy

PUT
/api/v1/strategies/{strategy_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Request Body

application/json

name?|
description?|
status?|
symbols?array<>|
timeframes?array<>|
entry_conditions?|
exit_conditions?|
risk_level?|
stop_loss_percentage?||
take_profit_percentage?||
auto_execute?|
max_open_positions?|
confidence_threshold?||
tags?array<>|

Response Body

application/json

application/json

curl -X PUT "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Activate Strategy

POST
/api/v1/strategies/{strategy_id}/activate

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08/activate"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Deactivate Strategy

POST
/api/v1/strategies/{strategy_id}/deactivate

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08/deactivate"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Get Strategy Signals

GET
/api/v1/strategies/{strategy_id}/signals

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Query Parameters

limit?integer
Default50
Range1 <= value <= 200
offset?integer
Default0
Range0 <= value
signal_type?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08/signals"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Get Historical Data

GET
/api/v1/strategies/backtest/historical-data

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

symbol*string

Trading pair symbol (e.g., BTC/USDT)

exchange*string

Exchange name (e.g., binance, coinbase)

interval*string

Candle interval (e.g., 1m, 5m, 1h, 1d)

start_date*string

Start date in YYYY-MM-DD format

end_date*string

End date in YYYY-MM-DD format

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/strategies/backtest/historical-data?symbol=string&exchange=string&interval=string&start_date=string&end_date=string"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Get Strategy Condition Rules

GET
/api/v1/strategies/{strategy_id}/condition-rules

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08/condition-rules"
{
  "strategy_id": "string",
  "pause_on_conditions": [
    "bull"
  ],
  "resume_on_conditions": [
    "bull"
  ],
  "confidence_threshold": "string",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Create Strategy Condition Rules

POST
/api/v1/strategies/{strategy_id}/condition-rules

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Request Body

application/json

pause_on_conditions?array<>

Market conditions that should pause the strategy

resume_on_conditions?array<>

Market conditions that should resume the strategy

confidence_threshold?|

Minimum confidence score (0.5-1.0) to trigger action

Default"0.7"

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08/condition-rules" \  -H "Content-Type: application/json" \  -d '{}'
{
  "strategy_id": "string",
  "pause_on_conditions": [
    "bull"
  ],
  "resume_on_conditions": [
    "bull"
  ],
  "confidence_threshold": "string",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Delete Strategy Condition Rules

DELETE
/api/v1/strategies/{strategy_id}/condition-rules

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Response Body

application/json

curl -X DELETE "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08/condition-rules"
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Update Strategy Condition Rules

PUT
/api/v1/strategies/{strategy_id}/condition-rules

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

strategy_id*string
Formatuuid

Request Body

application/json

pause_on_conditions?array<>|

Market conditions that should pause the strategy

resume_on_conditions?array<>|

Market conditions that should resume the strategy

confidence_threshold?||

Minimum confidence score (0.5-1.0) to trigger action

Response Body

application/json

application/json

curl -X PUT "https://loading/api/v1/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08/condition-rules" \  -H "Content-Type: application/json" \  -d '{}'
{
  "strategy_id": "string",
  "pause_on_conditions": [
    "bull"
  ],
  "resume_on_conditions": [
    "bull"
  ],
  "confidence_threshold": "string",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}