Skip to main content

rust_okx/api/account/requests/
positions.rs

1use serde::Serialize;
2
3use crate::model::InstType;
4
5/// Request for [`get_positions`](crate::api::account::Account::get_positions).
6///
7/// All fields are optional; omit both to return all open positions.
8#[derive(Debug, Clone, Default, Serialize)]
9#[serde(rename_all = "camelCase")]
10pub struct PositionsRequest<'a> {
11    /// Instrument type filter.
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub inst_type: Option<&'a InstType>,
14    /// Instrument ID filter (e.g. `"BTC-USDT"`).
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub inst_id: Option<&'a str>,
17}
18
19/// Request for [`get_position_risk`](crate::api::account::Account::get_position_risk).
20#[derive(Debug, Clone, Default, Serialize)]
21#[serde(rename_all = "camelCase")]
22pub struct PositionRiskRequest<'a> {
23    /// Instrument type filter.
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub inst_type: Option<&'a InstType>,
26}