{"format":"opendoc-document","version":1,"url":"https://docs.upscale.trade/es/developers/operations/getactivepositions","title":"Obtener todas las posiciones activas","description":"GET /positions/{accountId}/active: Posiciones de la cuenta que están abiertas actualmente, las más recientes primero, con tamaño, precio de entrada, margen, apalancamiento y las…","kind":"api-operation","locale":"es","inLanguage":"es","translation":{"sourceLanguage":"en","targetLanguage":"es","status":"complete","translatedUnits":47,"totalUnits":47},"lastModified":"2026-09-28T20:05:09.350Z","revision":"3c2fd254d25c5fe88817d5c939afd24407f25862bdfb7b9dc8ab5105728c7abe","section":{"title":"Developers","url":"https://docs.upscale.trade/es/developers"},"representations":{"html":"https://docs.upscale.trade/es/developers/operations/getactivepositions","markdown":"https://docs.upscale.trade/es/developers/operations/getactivepositions.md","json":"https://docs.upscale.trade/es/developers/operations/getactivepositions.json"},"translations":{"en":"https://docs.upscale.trade/developers/operations/getactivepositions","ru":"https://docs.upscale.trade/ru/developers/operations/getactivepositions","es":"https://docs.upscale.trade/es/developers/operations/getactivepositions"},"operation":{"id":"getActivePositions","method":"GET","path":"/positions/{accountId}/active","summary":"Obtener todas las posiciones activas","description":"Posiciones de la cuenta que están abiertas actualmente, las más recientes primero, con tamaño, precio de entrada, margen, apalancamiento y las órdenes de stop y take adjuntas.\n\n- Solo se devuelven las posiciones abiertas en la fase en la que está actualmente la cuenta.\n- El pnl no realizado no forma parte de este payload — se mueve con el precio, así que tómalo del estado de riesgo o de la instantánea del mercado.","tags":["Trading"],"tagLabels":{"Accounts":"Cuentas","Config":"Configuración","Trading":"Trading"},"deprecated":false,"parameters":[{"name":"accountId","location":"path","schema":{"type":"string · uuid","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]},"type":"string · uuid","required":true,"description":"Identificador de la cuenta del trader. Debe pertenecer al solicitante.","example":"00000000-0000-4000-8000-000000000000"}],"bodies":[],"responses":[{"status":"401","description":"No autorizado","properties":[],"headers":[]},{"status":"403","description":"La cuenta pertenece a otro usuario (`account_access_denied`), o la solicitud se autentica con una clave de API mientras `api_trading` está deshabilitado en la cuenta (`api_trading_not_enabled`).","properties":[],"headers":[]},{"status":"404","description":"No hay ninguna cuenta con este identificador.","properties":[],"headers":[]},{"status":"429","description":"Se superó el límite de velocidad de la clave de API (`api_key_rate_limit_exceeded`). `Retry-After` indica cuándo volver; el cuerpo incluye el bucket (`read` / `write`), la ventana que se activó, su límite y `retryAt`.","properties":[],"headers":[]},{"status":"default","description":"Respuesta","mediaType":"application/json","properties":[],"schema":{"type":"object[]","types":["array"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":["object"],"reference":"#/components/schemas/PositionResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"idx","type":"string[]","required":true,"description":"Identificador de la posición. Mismo valor que `txId`.","example":"[\n  \"string\"\n]","schema":{"type":"string[]","types":["array"],"description":"Identificador de la posición. Mismo valor que `txId`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"txId","type":"string[]","required":true,"description":"Identificador de la posición. Se mantiene por compatibilidad hacia atrás, siempre igual a `idx`.","example":"[\n  \"string\"\n]","schema":{"type":"string[]","types":["array"],"description":"Identificador de la posición. Se mantiene por compatibilidad hacia atrás, siempre igual a `idx`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"version","type":"number","required":true,"description":"Revisión de la posición: incrementada por cada evento que se le aplica.","example":"0","schema":{"type":"number","types":["number"],"description":"Revisión de la posición: incrementada por cada evento que se le aplica.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"openedAt","type":"string · date-time","required":true,"description":"Cuándo se abrió la posición.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"Cuándo se abrió la posición.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"lastUpdatedAt","type":"string · date-time","required":true,"description":"Cuándo se aplicó el último evento a la posición.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"Cuándo se aplicó el último evento a la posición.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"closedAt","type":"string · date-time · nullable","required":true,"description":"Cuándo se cerró la posición; null mientras sigue abierta.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"Cuándo se cerró la posición; null mientras sigue abierta.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"type","type":"string · enum","required":true,"description":"Dirección de la posición. Mismo valor que `direction`.","example":"long","schema":{"type":"string · enum","types":["string"],"description":"Dirección de la posición. Mismo valor que `direction`.","enum":["long","short"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"status","type":"string · enum","required":true,"description":"Si la posición sigue abierta, fue cerrada por el trader o fue liquidada.","example":"opened","schema":{"type":"string · enum","types":["string"],"description":"Si la posición sigue abierta, fue cerrada por el trader o fue liquidada.","enum":["opened","closed","liquidated"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"market","type":"string · uuid","required":true,"description":"Mercado en el que se mantiene la posición.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Mercado en el que se mantiene la posición.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"properties":[],"variants":[]}},{"name":"trader","type":"string · uuid","required":true,"description":"Cuenta del trader a la que pertenece la posición.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Cuenta del trader a la que pertenece la posición.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"properties":[],"variants":[]}},{"name":"size","type":"string · int32","required":true,"description":"Tamaño de la posición en unidades del activo base, fp9 sin procesar.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Tamaño de la posición en unidades del activo base, fp9 sin procesar.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"notional","type":"string · int32","required":true,"description":"Nocional abierto de la posición en moneda de cotización, fp9 sin procesar — tamaño al precio de entrada.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Nocional abierto de la posición en moneda de cotización, fp9 sin procesar — tamaño al precio de entrada.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"fraction","type":"string · int32","required":true,"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"margin","type":"string · int32","required":true,"description":"Margen que actualmente respalda la posición, fp9 sin procesar. Cambia con pnl, financiación y cambios manuales de margen.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Margen que actualmente respalda la posición, fp9 sin procesar. Cambia con pnl, financiación y cambios manuales de margen.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"pnl","type":"string · int32 · nullable","required":true,"description":"Pnl realizado acumulado a lo largo de cada evento de la posición, fp9 sin procesar.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Pnl realizado acumulado a lo largo de cada evento de la posición, fp9 sin procesar.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"funding","type":"string · int32 · nullable","required":true,"description":"Financiación pagada (negativa) o recibida (positiva) durante la vida de la posición, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Financiación pagada (negativa) o recibida (positiva) durante la vida de la posición, fp9 en bruto.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"rolloverFee","type":"string · int32","required":true,"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"settlementOraclePrice","type":"string · int32","required":true,"description":"Siempre `1000000000` (1.0). Se mantiene por compatibilidad con versiones anteriores.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Siempre `1000000000` (1.0). Se mantiene por compatibilidad con versiones anteriores.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"fee","type":"string · int32","required":true,"description":"Comisiones de trading cobradas durante la vida de la posición, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Comisiones de trading cobradas durante la vida de la posición, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"feeRate","type":"string · int32","required":true,"description":"Tasa de comisión aplicada a la posición, fp9 fracción en bruto (`1000000` = 0.1%).","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Tasa de comisión aplicada a la posición, fp9 fracción en bruto (`1000000` = 0.1%).","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"exchangedQuote","type":"string · int32","required":true,"description":"Importe de cotización intercambiado por el evento más reciente, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Importe de cotización intercambiado por el evento más reciente, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"exchangedBase","type":"string · int32","required":true,"description":"Importe base intercambiado por el evento más reciente, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Importe base intercambiado por el evento más reciente, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"direction","type":"string · enum","required":true,"description":"Dirección de la posición.","example":"long","schema":{"type":"string · enum","types":["string"],"description":"Dirección de la posición.","enum":["long","short"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"eventName","type":"string · enum","required":true,"description":"Tipo del evento más reciente aplicado a la posición.","example":"addMargin","schema":{"type":"string · enum","types":["string"],"description":"Tipo del evento más reciente aplicado a la posición.","enum":["addMargin","removeMargin","closePosition","increasePosition","liquidate","forceClose","payFunding"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"pnlInEvent","type":"string · int32","required":true,"description":"Pnl realizado del evento más reciente, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Pnl realizado del evento más reciente, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"rawPnlInEvent","type":"string · int32","required":true,"description":"Pnl realizado del evento más reciente antes del ajuste de 60 segundos, fp9 en bruto. Difiere de `pnlInEvent` solo cuando se activó el ajuste.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Pnl realizado del evento más reciente antes del ajuste de 60 segundos, fp9 en bruto. Difiere de `pnlInEvent` solo cuando se activó el ajuste.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"profitAdjustmentApplied","type":"boolean","required":true,"description":"Si el ajuste de 60 segundos limitó la ganancia del evento más reciente — dentro de un minuto de una apertura o un aumento de la posición, el pnl de la posición no puede crecer por encima de lo que era en ese momento.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Si el ajuste de 60 segundos limitó la ganancia del evento más reciente — dentro de un minuto de una apertura o un aumento de la posición, el pnl de la posición no puede crecer por encima de lo que era en ese momento.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"holdingTimeMs","type":"string[]","required":true,"description":"Cuánto tiempo se mantuvo la posición antes del cierre más reciente, en milisegundos, contado desde la apertura o el último incremento. Nulo en eventos que no son cierres.","example":"[\n  \"string\"\n]","schema":{"type":"string[]","types":["array"],"description":"Cuánto tiempo se mantuvo la posición antes del cierre más reciente, en milisegundos, contado desde la apertura o el último incremento. Nulo en eventos que no son cierres.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"feeInEvent","type":"string · int32","required":true,"description":"Comisión cobrada por el evento más reciente, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Comisión cobrada por el evento más reciente, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"fundingInEvent","type":"string · int32","required":true,"description":"Financiación liquidada por el evento más reciente, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Financiación liquidada por el evento más reciente, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"rolloverFeeInEvent","type":"string · int32","required":true,"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"executionFeeRate","type":"string · int32","required":true,"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"executionFeeInEvent","type":"string · int32","required":true,"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"executionFee","type":"string · int32","required":true,"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Siempre `0`. Se mantiene por compatibilidad hacia atrás.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"timestamp","type":"string · date-time","required":true,"description":"Marca de tiempo del evento más reciente. Mismo valor que `lastUpdatedAt`.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"Marca de tiempo del evento más reciente. Mismo valor que `lastUpdatedAt`.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"isOnchain","type":"boolean","required":true,"description":"Siempre `true`. Se mantiene por compatibilidad con versiones anteriores.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Siempre `true`. Se mantiene por compatibilidad con versiones anteriores.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"roe","type":"string · int32","required":true,"description":"Rentabilidad sobre el capital de la posición — pnl realizado sobre el margen aportado, fp9 fracción sin procesar.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Rentabilidad sobre el capital de la posición — pnl realizado sobre el margen aportado, fp9 fracción sin procesar.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"scalpingCoefficient","type":"string · int32","required":true,"description":"Multiplicador dinámico de spread que se aplicó a la posición, fp9 sin procesar (`1000000000` = 1.0). Por encima de 1 cuando la operación quedó dentro de la ventana de scalping del mercado.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Multiplicador dinámico de spread que se aplicó a la posición, fp9 sin procesar (`1000000000` = 1.0). Por encima de 1 cuando la operación quedó dentro de la ventana de scalping del mercado.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"closeReason","type":"string[]","required":true,"description":"Por qué la plataforma cerró la posición (por ejemplo, `weekly_session_risk_close`). Nulo para las posiciones cerradas por el trader y para las abiertas.","example":"[\n  \"string\"\n]","schema":{"type":"string[]","types":["array"],"description":"Por qué la plataforma cerró la posición (por ejemplo, `weekly_session_risk_close`). Nulo para las posiciones cerradas por el trader y para las abiertas.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}}],"variants":[]},"variants":[]},"example":"[\n  {\n    \"idx\": [\n      \"string\"\n    ],\n    \"txId\": [\n      \"string\"\n    ],\n    \"version\": 0,\n    \"openedAt\": \"2026-05-01T12:30:00.000Z\",\n    \"lastUpdatedAt\": \"2026-05-01T12:30:00.000Z\",\n    \"closedAt\": \"2026-05-01T12:30:00.000Z\",\n    \"type\": \"long\",\n    \"status\": \"opened\",\n    \"market\": \"00000000-0000-4000-8000-000000000000\",\n    \"trader\": \"00000000-0000-4000-8000-000000000000\",\n    \"size\": \"1000000000\",\n    \"notional\": \"1000000000\",\n    \"fraction\": \"1000000000\",\n    \"margin\": \"1000000000\",\n    \"pnl\": \"1000000000\",\n    \"funding\": \"1000000000\",\n    \"rolloverFee\": \"1000000000\",\n    \"settlementOraclePrice\": \"1000000000\",\n    \"fee\": \"1000000000\",\n    \"feeRate\": \"1000000000\",\n    \"exchangedQuote\": \"1000000000\",\n    \"exchangedBase\": \"1000000000\",\n    \"direction\": \"long\",\n    \"eventName\": \"addMargin\",\n    \"pnlInEvent\": \"1000000000\",\n    \"rawPnlInEvent\": \"1000000000\",\n    \"profitAdjustmentApplied\": true,\n    \"holdingTimeMs\": [\n      \"string\"\n    ],\n    \"feeInEvent\": \"1000000000\",\n    \"fundingInEvent\": \"1000000000\",\n    \"rolloverFeeInEvent\": \"1000000000\",\n    \"executionFeeRate\": \"1000000000\",\n    \"executionFeeInEvent\": \"1000000000\",\n    \"executionFee\": \"1000000000\",\n    \"timestamp\": \"2026-05-01T12:30:00.000Z\",\n    \"isOnchain\": true,\n    \"roe\": \"1000000000\",\n    \"scalpingCoefficient\": \"1000000000\",\n    \"closeReason\": [\n      \"string\"\n    ]\n  }\n]","headers":[]}],"security":[{"name":"bearer","type":"http · bearer","description":"Clave de API personal, con el prefijo `usk_`.","required":true,"scopes":[]}],"codeSamples":[{"label":"cURL","language":"bash","source":"curl --request GET 'https://api.upscale.trade/positions/{accountId}/active' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'"},{"label":"JavaScript","language":"javascript","source":"const response = await fetch(\"https://api.upscale.trade/positions/{accountId}/active\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());"},{"label":"Python","language":"python","source":"import requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/positions/{accountId}/active\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)"}]},"breadcrumbs":[{"title":"Qué es el prop trading","url":"https://docs.upscale.trade/es"},{"title":"Developers","url":"https://docs.upscale.trade/es/developers"},{"title":"Obtener todas las posiciones activas","url":"https://docs.upscale.trade/es/developers/operations/getactivepositions"}],"headings":[{"depth":2,"id":"authorization","title":"Autorización"},{"depth":2,"id":"parameters","title":"Parámetros"},{"depth":2,"id":"examples","title":"Ejemplos"},{"depth":2,"id":"responses","title":"Respuestas"}],"markdown":"# Obtener todas las posiciones activas\n\n`GET /positions/{accountId}/active`\n\nPosiciones de la cuenta que están abiertas actualmente, las más recientes primero, con tamaño, precio de entrada, margen, apalancamiento y las órdenes de stop y take adjuntas.\n\n- Solo se devuelven las posiciones abiertas en la fase en la que está actualmente la cuenta.\n- El pnl no realizado no forma parte de este payload — se mueve con el precio, así que tómalo del estado de riesgo o de la instantánea del mercado.\n\n<a id=\"authorization\"></a>\n\n## Autorización\n\nbearer: http · bearer (obligatorio). Clave de API personal, con el prefijo `usk_`.\n\n<a id=\"parameters\"></a>\n\n## Parámetros\n\n- path: accountId (string · uuid; obligatorio). Identificador de la cuenta del trader. Debe pertenecer al solicitante.\n\nTipo: string · uuid\n\nformat: uuid\n\n<a id=\"example-curl\"></a>\n\n## Ejemplo · cURL\n\n```bash\ncurl --request GET 'https://api.upscale.trade/positions/{accountId}/active' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'\n```\n\n<a id=\"example-javascript\"></a>\n\n## Ejemplo · JavaScript\n\n```javascript\nconst response = await fetch(\"https://api.upscale.trade/positions/{accountId}/active\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());\n```\n\n<a id=\"example-python\"></a>\n\n## Ejemplo · Python\n\n```python\nimport requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/positions/{accountId}/active\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n<a id=\"response-401\"></a>\n\n## Respuesta 401\n\n**401**  — No autorizado\n\n<a id=\"response-403\"></a>\n\n## Respuesta 403\n\n**403**  — La cuenta pertenece a otro usuario (`account_access_denied`), o la solicitud se autentica con una clave de API mientras `api_trading` está deshabilitado en la cuenta (`api_trading_not_enabled`).\n\n<a id=\"response-404\"></a>\n\n## Respuesta 404\n\n**404**  — No hay ninguna cuenta con este identificador.\n\n<a id=\"response-429\"></a>\n\n## Respuesta 429\n\n**429**  — Se superó el límite de velocidad de la clave de API (`api_key_rate_limit_exceeded`). `Retry-After` indica cuándo volver; el cuerpo incluye el bucket (`read` / `write`), la ventana que se activó, su límite y `retryAt`.\n\n<a id=\"response-default-positionresponse\"></a>\n\n## Respuesta default · PositionResponse\n\n**default** application/json — Respuesta\n\nTipo: object[]\n\n[]Esquema: PositionResponse\n\n[]Tipo: object\n\n[]Campos obligatorios: idx, txId, version, openedAt, lastUpdatedAt, closedAt, type, status, market, trader, size, notional, fraction, margin, pnl, funding, rolloverFee, settlementOraclePrice, fee, feeRate, exchangedQuote, exchangedBase, direction, eventName, pnlInEvent, rawPnlInEvent, profitAdjustmentApplied, holdingTimeMs, feeInEvent, fundingInEvent, rolloverFeeInEvent, executionFeeRate, executionFeeInEvent, executionFee, timestamp, isOnchain, roe, scalpingCoefficient, closeReason\n\n[]Tipos de campos obligatorios: idx (string[]; obligatorio), txId (string[]; obligatorio), version (number; obligatorio), openedAt (string · date-time; obligatorio), lastUpdatedAt (string · date-time; obligatorio), closedAt (string · date-time · nullable; obligatorio), type (string · enum; obligatorio), status (string · enum; obligatorio), market (string · uuid; obligatorio), trader (string · uuid; obligatorio), size (string · int32; obligatorio), notional (string · int32; obligatorio), fraction (string · int32; obligatorio), margin (string · int32; obligatorio), pnl (string · int32 · nullable; obligatorio), funding (string · int32 · nullable; obligatorio), rolloverFee (string · int32; obligatorio), settlementOraclePrice (string · int32; obligatorio), fee (string · int32; obligatorio), feeRate (string · int32; obligatorio), exchangedQuote (string · int32; obligatorio), exchangedBase (string · int32; obligatorio), direction (string · enum; obligatorio), eventName (string · enum; obligatorio), pnlInEvent (string · int32; obligatorio), rawPnlInEvent (string · int32; obligatorio), profitAdjustmentApplied (boolean; obligatorio), holdingTimeMs (string[]; obligatorio), feeInEvent (string · int32; obligatorio), fundingInEvent (string · int32; obligatorio), rolloverFeeInEvent (string · int32; obligatorio), executionFeeRate (string · int32; obligatorio), executionFeeInEvent (string · int32; obligatorio), executionFee (string · int32; obligatorio), timestamp (string · date-time; obligatorio), isOnchain (boolean; obligatorio), roe (string · int32; obligatorio), scalpingCoefficient (string · int32; obligatorio), closeReason (string[]; obligatorio)\n\n- []idx (string[]; obligatorio)\n\n[]idx ejemplo: [\n  \"string\"\n]\n\n[]idx.Tipo: string[]\n\n[]idx.Identificador de la posición. Mismo valor que `txId`.\n\n[]idx.[]Tipo: string\n\n- []txId (string[]; obligatorio)\n\n[]txId ejemplo: [\n  \"string\"\n]\n\n[]txId.Tipo: string[]\n\n[]txId.Identificador de la posición. Se mantiene por compatibilidad hacia atrás, siempre igual a `idx`.\n\n[]txId.[]Tipo: string\n\n- []version (number; obligatorio)\n\n[]version ejemplo: 0\n\n[]version.Tipo: number\n\n[]version.Revisión de la posición: incrementada por cada evento que se le aplica.\n\n- []openedAt (string · date-time; obligatorio)\n\n[]openedAt ejemplo: 2026-05-01T12:30:00.000Z\n\n[]openedAt.Tipo: string · date-time\n\n[]openedAt.Cuándo se abrió la posición.\n\n[]openedAt.format: date-time\n\n- []lastUpdatedAt (string · date-time; obligatorio)\n\n[]lastUpdatedAt ejemplo: 2026-05-01T12:30:00.000Z\n\n[]lastUpdatedAt.Tipo: string · date-time\n\n[]lastUpdatedAt.Cuándo se aplicó el último evento a la posición.\n\n[]lastUpdatedAt.format: date-time\n\n- []closedAt (string · date-time · nullable; obligatorio)\n\n[]closedAt ejemplo: 2026-05-01T12:30:00.000Z\n\n[]closedAt.Tipo: string · date-time · nullable\n\n[]closedAt.Cuándo se cerró la posición; null mientras sigue abierta.\n\n[]closedAt.format: date-time\n\n- []type (string · enum; obligatorio)\n\n[]type ejemplo: long\n\n[]type.Tipo: string · enum\n\n[]type.Dirección de la posición. Mismo valor que `direction`.\n\n[]type.Valores permitidos: [\"long\",\"short\"]\n\n- []status (string · enum; obligatorio)\n\n[]status ejemplo: opened\n\n[]status.Tipo: string · enum\n\n[]status.Si la posición sigue abierta, fue cerrada por el trader o fue liquidada.\n\n[]status.Valores permitidos: [\"opened\",\"closed\",\"liquidated\"]\n\n- []market (string · uuid; obligatorio)\n\n[]market ejemplo: 00000000-0000-4000-8000-000000000000\n\n[]market.Tipo: string · uuid\n\n[]market.Mercado en el que se mantiene la posición.\n\n[]market.format: uuid\n\n[]market.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$\n\n- []trader (string · uuid; obligatorio)\n\n[]trader ejemplo: 00000000-0000-4000-8000-000000000000\n\n[]trader.Tipo: string · uuid\n\n[]trader.Cuenta del trader a la que pertenece la posición.\n\n[]trader.format: uuid\n\n[]trader.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$\n\n- []size (string · int32; obligatorio)\n\n[]size ejemplo: 1000000000\n\n[]size.Tipo: string · int32\n\n[]size.Tamaño de la posición en unidades del activo base, fp9 sin procesar.\n\n[]size.format: int32\n\n[]size.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []notional (string · int32; obligatorio)\n\n[]notional ejemplo: 1000000000\n\n[]notional.Tipo: string · int32\n\n[]notional.Nocional abierto de la posición en moneda de cotización, fp9 sin procesar — tamaño al precio de entrada.\n\n[]notional.format: int32\n\n[]notional.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []fraction (string · int32; obligatorio)\n\n[]fraction ejemplo: 1000000000\n\n[]fraction.Tipo: string · int32\n\n[]fraction.Siempre `0`. Se mantiene por compatibilidad hacia atrás.\n\n[]fraction.format: int32\n\n[]fraction.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []margin (string · int32; obligatorio)\n\n[]margin ejemplo: 1000000000\n\n[]margin.Tipo: string · int32\n\n[]margin.Margen que actualmente respalda la posición, fp9 sin procesar. Cambia con pnl, financiación y cambios manuales de margen.\n\n[]margin.format: int32\n\n[]margin.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []pnl (string · int32 · nullable; obligatorio)\n\n[]pnl ejemplo: 1000000000\n\n[]pnl.Tipo: string · int32 · nullable\n\n[]pnl.Pnl realizado acumulado a lo largo de cada evento de la posición, fp9 sin procesar.\n\n[]pnl.format: int32\n\n[]pnl.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []funding (string · int32 · nullable; obligatorio)\n\n[]funding ejemplo: 1000000000\n\n[]funding.Tipo: string · int32 · nullable\n\n[]funding.Financiación pagada (negativa) o recibida (positiva) durante la vida de la posición, fp9 en bruto.\n\n[]funding.format: int32\n\n[]funding.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []rolloverFee (string · int32; obligatorio)\n\n[]rolloverFee ejemplo: 1000000000\n\n[]rolloverFee.Tipo: string · int32\n\n[]rolloverFee.Siempre `0`. Se mantiene por compatibilidad hacia atrás.\n\n[]rolloverFee.format: int32\n\n[]rolloverFee.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []settlementOraclePrice (string · int32; obligatorio)\n\n[]settlementOraclePrice ejemplo: 1000000000\n\n[]settlementOraclePrice.Tipo: string · int32\n\n[]settlementOraclePrice.Siempre `1000000000` (1.0). Se mantiene por compatibilidad con versiones anteriores.\n\n[]settlementOraclePrice.format: int32\n\n[]settlementOraclePrice.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []fee (string · int32; obligatorio)\n\n[]fee ejemplo: 1000000000\n\n[]fee.Tipo: string · int32\n\n[]fee.Comisiones de trading cobradas durante la vida de la posición, fp9 en bruto.\n\n[]fee.format: int32\n\n[]fee.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []feeRate (string · int32; obligatorio)\n\n[]feeRate ejemplo: 1000000000\n\n[]feeRate.Tipo: string · int32\n\n[]feeRate.Tasa de comisión aplicada a la posición, fp9 fracción en bruto (`1000000` = 0.1%).\n\n[]feeRate.format: int32\n\n[]feeRate.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []exchangedQuote (string · int32; obligatorio)\n\n[]exchangedQuote ejemplo: 1000000000\n\n[]exchangedQuote.Tipo: string · int32\n\n[]exchangedQuote.Importe de cotización intercambiado por el evento más reciente, fp9 en bruto.\n\n[]exchangedQuote.format: int32\n\n[]exchangedQuote.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []exchangedBase (string · int32; obligatorio)\n\n[]exchangedBase ejemplo: 1000000000\n\n[]exchangedBase.Tipo: string · int32\n\n[]exchangedBase.Importe base intercambiado por el evento más reciente, fp9 en bruto.\n\n[]exchangedBase.format: int32\n\n[]exchangedBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []direction (string · enum; obligatorio)\n\n[]direction ejemplo: long\n\n[]direction.Tipo: string · enum\n\n[]direction.Dirección de la posición.\n\n[]direction.Valores permitidos: [\"long\",\"short\"]\n\n- []eventName (string · enum; obligatorio)\n\n[]eventName ejemplo: addMargin\n\n[]eventName.Tipo: string · enum\n\n[]eventName.Tipo del evento más reciente aplicado a la posición.\n\n[]eventName.Valores permitidos: [\"addMargin\",\"removeMargin\",\"closePosition\",\"increasePosition\",\"liquidate\",\"forceClose\",\"payFunding\"]\n\n- []pnlInEvent (string · int32; obligatorio)\n\n[]pnlInEvent ejemplo: 1000000000\n\n[]pnlInEvent.Tipo: string · int32\n\n[]pnlInEvent.Pnl realizado del evento más reciente, fp9 en bruto.\n\n[]pnlInEvent.format: int32\n\n[]pnlInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []rawPnlInEvent (string · int32; obligatorio)\n\n[]rawPnlInEvent ejemplo: 1000000000\n\n[]rawPnlInEvent.Tipo: string · int32\n\n[]rawPnlInEvent.Pnl realizado del evento más reciente antes del ajuste de 60 segundos, fp9 en bruto. Difiere de `pnlInEvent` solo cuando se activó el ajuste.\n\n[]rawPnlInEvent.format: int32\n\n[]rawPnlInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []profitAdjustmentApplied (boolean; obligatorio)\n\n[]profitAdjustmentApplied ejemplo: true\n\n[]profitAdjustmentApplied.Tipo: boolean\n\n[]profitAdjustmentApplied.Si el ajuste de 60 segundos limitó la ganancia del evento más reciente — dentro de un minuto de una apertura o un aumento de la posición, el pnl de la posición no puede crecer por encima de lo que era en ese momento.\n\n- []holdingTimeMs (string[]; obligatorio)\n\n[]holdingTimeMs ejemplo: [\n  \"string\"\n]\n\n[]holdingTimeMs.Tipo: string[]\n\n[]holdingTimeMs.Cuánto tiempo se mantuvo la posición antes del cierre más reciente, en milisegundos, contado desde la apertura o el último incremento. Nulo en eventos que no son cierres.\n\n[]holdingTimeMs.[]Tipo: string\n\n- []feeInEvent (string · int32; obligatorio)\n\n[]feeInEvent ejemplo: 1000000000\n\n[]feeInEvent.Tipo: string · int32\n\n[]feeInEvent.Comisión cobrada por el evento más reciente, fp9 en bruto.\n\n[]feeInEvent.format: int32\n\n[]feeInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []fundingInEvent (string · int32; obligatorio)\n\n[]fundingInEvent ejemplo: 1000000000\n\n[]fundingInEvent.Tipo: string · int32\n\n[]fundingInEvent.Financiación liquidada por el evento más reciente, fp9 en bruto.\n\n[]fundingInEvent.format: int32\n\n[]fundingInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []rolloverFeeInEvent (string · int32; obligatorio)\n\n[]rolloverFeeInEvent ejemplo: 1000000000\n\n[]rolloverFeeInEvent.Tipo: string · int32\n\n[]rolloverFeeInEvent.Siempre `0`. Se mantiene por compatibilidad hacia atrás.\n\n[]rolloverFeeInEvent.format: int32\n\n[]rolloverFeeInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []executionFeeRate (string · int32; obligatorio)\n\n[]executionFeeRate ejemplo: 1000000000\n\n[]executionFeeRate.Tipo: string · int32\n\n[]executionFeeRate.Siempre `0`. Se mantiene por compatibilidad hacia atrás.\n\n[]executionFeeRate.format: int32\n\n[]executionFeeRate.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []executionFeeInEvent (string · int32; obligatorio)\n\n[]executionFeeInEvent ejemplo: 1000000000\n\n[]executionFeeInEvent.Tipo: string · int32\n\n[]executionFeeInEvent.Siempre `0`. Se mantiene por compatibilidad hacia atrás.\n\n[]executionFeeInEvent.format: int32\n\n[]executionFeeInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []executionFee (string · int32; obligatorio)\n\n[]executionFee ejemplo: 1000000000\n\n[]executionFee.Tipo: string · int32\n\n[]executionFee.Siempre `0`. Se mantiene por compatibilidad hacia atrás.\n\n[]executionFee.format: int32\n\n[]executionFee.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []timestamp (string · date-time; obligatorio)\n\n[]timestamp ejemplo: 2026-05-01T12:30:00.000Z\n\n[]timestamp.Tipo: string · date-time\n\n[]timestamp.Marca de tiempo del evento más reciente. Mismo valor que `lastUpdatedAt`.\n\n[]timestamp.format: date-time\n\n- []isOnchain (boolean; obligatorio)\n\n[]isOnchain ejemplo: true\n\n[]isOnchain.Tipo: boolean\n\n[]isOnchain.Siempre `true`. Se mantiene por compatibilidad con versiones anteriores.\n\n- []roe (string · int32; obligatorio)\n\n[]roe ejemplo: 1000000000\n\n[]roe.Tipo: string · int32\n\n[]roe.Rentabilidad sobre el capital de la posición — pnl realizado sobre el margen aportado, fp9 fracción sin procesar.\n\n[]roe.format: int32\n\n[]roe.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []scalpingCoefficient (string · int32; obligatorio)\n\n[]scalpingCoefficient ejemplo: 1000000000\n\n[]scalpingCoefficient.Tipo: string · int32\n\n[]scalpingCoefficient.Multiplicador dinámico de spread que se aplicó a la posición, fp9 sin procesar (`1000000000` = 1.0). Por encima de 1 cuando la operación quedó dentro de la ventana de scalping del mercado.\n\n[]scalpingCoefficient.format: int32\n\n[]scalpingCoefficient.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []closeReason (string[]; obligatorio)\n\n[]closeReason ejemplo: [\n  \"string\"\n]\n\n[]closeReason.Tipo: string[]\n\n[]closeReason.Por qué la plataforma cerró la posición (por ejemplo, `weekly_session_risk_close`). Nulo para las posiciones cerradas por el trader y para las abiertas.\n\n[]closeReason.[]Tipo: string\n\nEjemplo\n\n\n\n```json\n[\n  {\n    \"idx\": [\n      \"string\"\n    ],\n    \"txId\": [\n      \"string\"\n    ],\n    \"version\": 0,\n    \"openedAt\": \"2026-05-01T12:30:00.000Z\",\n    \"lastUpdatedAt\": \"2026-05-01T12:30:00.000Z\",\n    \"closedAt\": \"2026-05-01T12:30:00.000Z\",\n    \"type\": \"long\",\n    \"status\": \"opened\",\n    \"market\": \"00000000-0000-4000-8000-000000000000\",\n    \"trader\": \"00000000-0000-4000-8000-000000000000\",\n    \"size\": \"1000000000\",\n    \"notional\": \"1000000000\",\n    \"fraction\": \"1000000000\",\n    \"margin\": \"1000000000\",\n    \"pnl\": \"1000000000\",\n    \"funding\": \"1000000000\",\n    \"rolloverFee\": \"1000000000\",\n    \"settlementOraclePrice\": \"1000000000\",\n    \"fee\": \"1000000000\",\n    \"feeRate\": \"1000000000\",\n    \"exchangedQuote\": \"1000000000\",\n    \"exchangedBase\": \"1000000000\",\n    \"direction\": \"long\",\n    \"eventName\": \"addMargin\",\n    \"pnlInEvent\": \"1000000000\",\n    \"rawPnlInEvent\": \"1000000000\",\n    \"profitAdjustmentApplied\": true,\n    \"holdingTimeMs\": [\n      \"string\"\n    ],\n    \"feeInEvent\": \"1000000000\",\n    \"fundingInEvent\": \"1000000000\",\n    \"rolloverFeeInEvent\": \"1000000000\",\n    \"executionFeeRate\": \"1000000000\",\n    \"executionFeeInEvent\": \"1000000000\",\n    \"executionFee\": \"1000000000\",\n    \"timestamp\": \"2026-05-01T12:30:00.000Z\",\n    \"isOnchain\": true,\n    \"roe\": \"1000000000\",\n    \"scalpingCoefficient\": \"1000000000\",\n    \"closeReason\": [\n      \"string\"\n    ]\n  }\n]\n```","text":"Obtener todas las posiciones activas Posiciones de la cuenta que están abiertas actualmente, las más recientes primero, con tamaño, precio de entrada, margen, apalancamiento y las órdenes de stop y take adjuntas. - Solo se devuelven las posiciones abiertas en la fase en la que está actualmente la cuenta. - El pnl no realizado no forma parte de este payload — se mueve con el precio, así que tómalo del estado de riesgo o de la instantánea del mercado. GET /positions/{accountId}/active Trading accountId Identificador de la cuenta del trader. Debe pertenecer al solicitante. string · uuid 401 No autorizado 403 La cuenta pertenece a otro usuario (`account_access_denied`), o la solicitud se autentica con una clave de API mientras `api_trading` está deshabilitado en la cuenta (`api_trading_not_enabled`). 404 No hay ninguna cuenta con este identificador. 429 Se superó el límite de velocidad de la clave de API (`api_key_rate_limit_exceeded`). `Retry-After` indica cuándo volver; el cuerpo incluye el bucket (`read` / `write`), la ventana que se activó, su límite y `retryAt`. default Respuesta","api":{"title":"API pública de Upscale","version":"d796ac9","documentation":"https://docs.upscale.trade/es/developers","playgroundServer":"https://api.upscale.trade"}}