---
title: "Set TP/SL"
method: POST
path: "/v1/positions/set-tp-sl"
tags: ["Positions"]
---

# Set TP/SL

`POST /v1/positions/set-tp-sl`

Adjust take profit and stop loss levels for a specific position.

## Request body

- SetTakeProfitStopLossRequest
  - `instType` 'perpetual' | 'spot' | 'btc' | 'digital' | 'stock' | 'index', required
  - `quantity` string, nullable
  - `stopLossLimitPrice` string, nullable
  - `stopLossTriggerPrice` string, nullable
  - `symbol` string, required
  - `takeProfitLimitPrice` string, nullable
  - `takeProfitTriggerPrice` string, nullable
  - `tpSlMode` 'partial' | 'full', required
  - `unit` 'sats' | 'btc'

## Response `200`

- ApiResponseForSetTpSlGaywayResponse — Represents a successful API response wrapper
  - `data` SetTpSlGaywayResponse, required
    - `slOrder` Order
      - `accountId` string, uuid, required
      - `amountFilled` string, required
      - `cancelAt` integer, nullable
      - `clientOrderId` string, nullable
      - `createdAt` integer, required
      - `id` string, uuid, required
      - `instType` 'perpetual' | 'spot' | 'btc' | 'digital' | 'stock' | 'index', required
      - `px` string, required
      - `qty` string, required
      - `side` 'buy' | 'sell', required
      - `size` string, required
      - `status` 'pendingsubmit' | 'waitingtrigger' | 'submitted' | 'pendingcancel' | 'partiallyfilled' | 'partiallyfilledcancelled' | 'filled' | 'cancelled' | 'rejected' | 'inactive', required
      - `symbol` string, required
      - `timeInForce` 'gtc' | 'ioc', required
      - `triggerPx` string, nullable
      - `triggeredAt` integer, nullable
      - `type` 'limit' | 'market' | 'stop' | 'stoplimit' | 'take' | 'takelimit', required
      - `unit` 'sats' | 'btc', required
    - `tpOrder` Order
      - `accountId` string, uuid, required
      - `amountFilled` string, required
      - `cancelAt` integer, nullable
      - `clientOrderId` string, nullable
      - `createdAt` integer, required
      - `id` string, uuid, required
      - `instType` 'perpetual' | 'spot' | 'btc' | 'digital' | 'stock' | 'index', required
      - `px` string, required
      - `qty` string, required
      - `side` 'buy' | 'sell', required
      - `size` string, required
      - `status` 'pendingsubmit' | 'waitingtrigger' | 'submitted' | 'pendingcancel' | 'partiallyfilled' | 'partiallyfilledcancelled' | 'filled' | 'cancelled' | 'rejected' | 'inactive', required
      - `symbol` string, required
      - `timeInForce` 'gtc' | 'ioc', required
      - `triggerPx` string, nullable
      - `triggeredAt` integer, nullable
      - `type` 'limit' | 'market' | 'stop' | 'stoplimit' | 'take' | 'takelimit', required
      - `unit` 'sats' | 'btc', required
  - `error` boolean, required

---

[API](https://skmtc.net/roxom/apis/portico-api.md) · [All operations](https://skmtc.net/roxom/apis/portico-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/roxom/portico-api/revisions/a7839cbefd8e/schema)
