Skip to content

Create a position (draft).

POST
/api/positions
curl --request POST \
--url https://api.tradr.cloud/api/positions \
--header 'Content-Type: application/json' \
--data '{ "accountId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "assetType": "stock", "notes": "example", "side": "long", "stopLoss": "140.00", "symbol": "example", "targetPrice": "150.00" }'

Authed. Creates a draft position in one of the user’s accounts. When feature gating is enabled and the user is a non-admin Free user, the create is refused with 403 TIER_LIMIT_POSITIONS at the L2 position cap, or 403 TIER_ACCOUNT_NOT_WRITABLE when over the L1 account cap and targeting an account other than the writable designation (plan-tiers REQ-6.1/6.6). Admins and gating-off deployments pass through unchanged. Existing-data management (close/fills/edit/delete) is never blocked (REQ-6.5).

Media typeapplication/json
object
accountId
required
string format: uuid
assetType
required
string
Allowed values: stock option
notes
string
nullable
side
required
string
Allowed values: long short
stopLoss

Trade-plan stop-loss price. Positive decimal string with up to 8 decimal places, or null. Used to compute risk/reward.

string
nullable
Example
140.00
symbol
required
string
>= 1 characters
targetPrice

Trade-plan target price. Positive decimal string with up to 8 decimal places, or null. Used to compute the target R/R.

string
nullable
Example
150.00

The created position.

Validation error.

TIER_LIMIT_POSITIONS (position cap reached) or TIER_ACCOUNT_NOT_WRITABLE (non-writable account while over the account cap).

Account not found (or not owned by the user).