{
  "openapi": "3.1.0",
  "info": {
    "title": "Trading 212 API (independent, unofficial description by Broker API Hub)",
    "version": "2026-10-12",
    "description": "An independent, unofficial description of the Trading 212 API, built by Broker API Hub from Trading 212's public documentation. It is not Trading 212's own specification, and Broker API Hub is not affiliated with or endorsed by Trading 212.\n\nIt is generated from 16 endpoint records. Every operation carries x-source, the page it was read on, and x-checked, the date that page was last checked. No operation here is recorded as conflicting or unverified. An operation this file does not list is not recorded here, which is not evidence that it does not exist.\n\nSecurity schemes are only the authentication headers the endpoint records list. How a credential is obtained and how long it lasts is on https://openbrokerapi.com/brokers/trading-212.\n\nResponse schemas: none is recorded.\n\n10 operations carry a mock reply as an example under the default response. Its values are invented.\n\nWhere this file and Trading 212's own documentation differ, the documentation wins. Educational only. Nothing here is advice.",
    "x-independent": true,
    "x-licence": "All rights reserved. Given for reference. Not part of the CC BY 4.0 downloads.",
    "x-cite": "Broker API Hub, Trading 212 API OpenAPI description, openbrokerapi.com/specs/trading-212.json, newest check 2026-10-12",
    "x-generated": "2026-10-12",
    "x-generated-basis": "The newest checked date among the endpoint records in this file. It is not the date the file was built.",
    "x-page": "https://openbrokerapi.com/brokers/trading-212",
    "x-base-addresses": {
      "live": "https://live.trading212.com",
      "demo": "https://demo.trading212.com"
    },
    "x-base-addresses-note": "The base addresses exactly as the broker record words them. Only an entry that is a plain address is listed under servers."
  },
  "externalDocs": {
    "description": "Trading 212's own documentation",
    "url": "https://docs.trading212.com/api/section/rate-limiting"
  },
  "servers": [
    {
      "url": "https://demo.trading212.com",
      "description": "Recorded on the Trading 212 record as \"demo\"."
    },
    {
      "url": "https://live.trading212.com",
      "description": "Recorded on the Trading 212 record as \"live\"."
    }
  ],
  "tags": [
    {
      "name": "Accounts"
    },
    {
      "name": "History"
    },
    {
      "name": "Instruments"
    },
    {
      "name": "Orders"
    },
    {
      "name": "Positions"
    }
  ],
  "paths": {
    "/api/v0/equity/account/summary": {
      "get": {
        "operationId": "account-summary",
        "summary": "Cash and investment figures for the account: funds free to trade, cash reserved for pending orders, the value and cost of holdings, and the total.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. Documented rate limit: 1 request every 5 seconds.",
        "tags": [
          "Accounts"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "id": 1000001,
                  "currency": "GBP",
                  "totalValue": 10250.5,
                  "cash": {
                    "availableToTrade": 2500,
                    "reservedForOrders": 100,
                    "inPies": 0
                  },
                  "investments": {
                    "currentValue": 7650.5,
                    "totalCost": 7400,
                    "unrealizedProfitLoss": 250.5,
                    "realizedProfitLoss": 120
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/account-summary"
      }
    },
    "/api/v0/equity/history/dividends": {
      "get": {
        "operationId": "history-dividends",
        "summary": "Dividends paid into the account, paged, with the amount, the quantity held and the per share figure.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. Documented rate limit: 20 requests a minute.",
        "tags": [
          "History"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Pagination cursor, taken from nextPagePath in the previous reply.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page. Default 20, maximum 50.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Limit the reply to one instrument ticker.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "items": [
                    {
                      "ticker": "MOCK_US_EQ",
                      "reference": "MOCK-DIV-1",
                      "type": "ORDINARY",
                      "quantity": 10,
                      "amount": 2.4,
                      "currency": "GBP",
                      "grossAmountPerShare": 0.31,
                      "tickerCurrency": "USD",
                      "paidOn": "2026-09-15T00:00:00Z"
                    }
                  ],
                  "nextPagePath": null
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/history-dividends"
      }
    },
    "/api/v0/equity/history/exports": {
      "get": {
        "operationId": "history-exports",
        "summary": "The CSV reports you have asked for and the status of each. Once a report is Finished its entry carries a link to download the file.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reply is a list, so no mock object is shown. Each entry carries reportId, status, timeFrom, timeTo, dataIncluded and downloadLink. Documented status values: Queued, Processing, Running, Canceled, Failed and Finished. Documented rate limit: 1 request a minute.",
        "tags": [
          "History"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/history-exports"
      },
      "post": {
        "operationId": "post-history-exports",
        "summary": "Ask for a CSV report of account history over a period. The report is built in the background: the reply is a reportId to look for in the list of reports.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reference does not flag any body field as required, so none is marked required here. Documented rate limit: 1 request every 30 seconds.",
        "tags": [
          "History"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "Send application/json on a request with a body.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "timeFrom": {
                    "type": "string",
                    "description": "Start of the period, as a date time.",
                    "x-required-unmarked": true
                  },
                  "timeTo": {
                    "type": "string",
                    "description": "End of the period, as a date time.",
                    "x-required-unmarked": true
                  },
                  "dataIncluded": {
                    "type": "object",
                    "description": "Which data to include, as four booleans: includeDividends, includeInterest, includeOrders and includeTransactions.",
                    "x-required-unmarked": true
                  }
                },
                "x-required-unmarked": [
                  "timeFrom",
                  "timeTo",
                  "dataIncluded"
                ]
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "reportId": 700001
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/post-history-exports"
      }
    },
    "/api/v0/equity/history/orders": {
      "get": {
        "operationId": "history-orders",
        "summary": "Past orders on the account, paged, each paired with the fill it produced.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. Each item carries two objects, order and fill. Their inner fields were not read, so the mock shows an empty list. Documented rate limit: 20 requests a minute.",
        "tags": [
          "History"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Pagination cursor, taken from nextPagePath in the previous reply.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page. Default 20, maximum 50.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Limit the reply to one instrument ticker.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "items": [],
                  "nextPagePath": null
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/history-orders"
      }
    },
    "/api/v0/equity/history/transactions": {
      "get": {
        "operationId": "history-transactions",
        "summary": "Movements of cash in and out of the account, paged: deposits, withdrawals, fees, transfers and interest.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. Documented type values: WITHDRAW, DEPOSIT, FEE, TRANSFER, INTEREST_ON_FREE_CASH and LENDING_INTEREST. Documented rate limit: 20 requests a minute.",
        "tags": [
          "History"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Pagination cursor, taken from nextPagePath in the previous reply.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page. Default 20, maximum 50.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "time",
            "in": "query",
            "required": false,
            "description": "Return transactions from this date time onwards.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "items": [
                    {
                      "reference": "MOCK-TX-1",
                      "type": "DEPOSIT",
                      "amount": 500,
                      "currency": "GBP",
                      "dateTime": "2026-09-01T09:00:00Z"
                    }
                  ],
                  "nextPagePath": null
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/history-transactions"
      }
    },
    "/api/v0/equity/metadata/exchanges": {
      "get": {
        "operationId": "metadata-exchanges",
        "summary": "The exchanges the account can reach and the working schedules of each, which say when its instruments trade.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reply is a list, so no mock object is shown. Each entry carries id, name and workingSchedules. The reference says the data refreshes every 10 minutes. Documented rate limit: 1 request every 30 seconds.",
        "tags": [
          "Instruments"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/metadata-exchanges"
      }
    },
    "/api/v0/equity/metadata/instruments": {
      "get": {
        "operationId": "metadata-instruments",
        "summary": "Every instrument the account can reach, with its ticker, name, ISIN, type, currency and the working schedule it trades on.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reply is a list, so no mock object is shown. Each entry carries ticker, name, shortName, isin, type, currencyCode, extendedHours, maxOpenQuantity, addedOn and workingScheduleId. The reference says the data refreshes every 10 minutes. Documented rate limit: 1 request every 50 seconds.",
        "tags": [
          "Instruments"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/metadata-instruments"
      }
    },
    "/api/v0/equity/orders": {
      "get": {
        "operationId": "orders",
        "summary": "Every order still active on the account, meaning not yet filled, cancelled or expired.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reply is a list of orders, so no mock object is shown. Documented rate limit: 1 request every 5 seconds.",
        "tags": [
          "Orders"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/orders"
      }
    },
    "/api/v0/equity/orders/{id}": {
      "delete": {
        "operationId": "delete-order",
        "summary": "Ask for a pending order to be cancelled. A success reply means the request was accepted, not that the order has gone: it may already be filling.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. No response body is documented. Documented rate limit: 50 requests a minute.",
        "tags": [
          "Orders"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Identifier of the order to cancel.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/delete-order"
      },
      "get": {
        "operationId": "order-by-id",
        "summary": "One pending order, looked up by its numeric identifier. Use it to check on an order you placed earlier.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. Documented rate limit: 1 request a second.",
        "tags": [
          "Orders"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Identifier of the order.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "id": 900001,
                  "ticker": "MOCK_US_EQ",
                  "instrument": {
                    "ticker": "MOCK_US_EQ",
                    "name": "Mock instrument",
                    "isin": "US0000000000",
                    "currency": "USD"
                  },
                  "type": "LIMIT",
                  "side": "BUY",
                  "status": "NEW",
                  "strategy": "QUANTITY",
                  "quantity": 0.1,
                  "filledQuantity": 0,
                  "limitPrice": 100.23,
                  "timeInForce": "DAY",
                  "extendedHours": false,
                  "initiatedFrom": "API",
                  "currency": "GBP",
                  "createdAt": "2026-09-18T08:00:00Z"
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/order-by-id"
      }
    },
    "/api/v0/equity/orders/limit": {
      "post": {
        "operationId": "post-orders-limit",
        "summary": "Place a limit order, which fills at the limit price or better. The sign of quantity sets the direction.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reference does not flag any body field as required, so none is marked required here. The reference warns that this call is not idempotent in the beta: sending the same request twice may place two orders. Orders execute only in the account's main currency. Documented rate limit: 1 request every 2 seconds.",
        "tags": [
          "Orders"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "Send application/json on a request with a body.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string",
                    "description": "Instrument ticker as Trading 212 writes it, for example AAPL_US_EQ. Read it from the instruments call.",
                    "x-required-unmarked": true
                  },
                  "quantity": {
                    "type": "number",
                    "description": "Number of shares. Positive to buy, negative to sell.",
                    "x-required-unmarked": true
                  },
                  "limitPrice": {
                    "type": "number",
                    "description": "The limit price. A buy fills at this price or lower, a sell at this price or higher.",
                    "x-required-unmarked": true
                  },
                  "timeValidity": {
                    "type": "string",
                    "description": "DAY or GOOD_TILL_CANCEL.",
                    "x-required-unmarked": true
                  }
                },
                "x-required-unmarked": [
                  "ticker",
                  "quantity",
                  "limitPrice",
                  "timeValidity"
                ]
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "id": 900001,
                  "ticker": "MOCK_US_EQ",
                  "instrument": {
                    "ticker": "MOCK_US_EQ",
                    "name": "Mock instrument",
                    "isin": "US0000000000",
                    "currency": "USD"
                  },
                  "type": "LIMIT",
                  "side": "BUY",
                  "status": "NEW",
                  "strategy": "QUANTITY",
                  "quantity": 0.1,
                  "filledQuantity": 0,
                  "limitPrice": 100.23,
                  "timeInForce": "DAY",
                  "extendedHours": false,
                  "initiatedFrom": "API",
                  "currency": "GBP",
                  "createdAt": "2026-09-18T08:00:00Z"
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/post-orders-limit"
      }
    },
    "/api/v0/equity/orders/market": {
      "post": {
        "operationId": "post-orders-market",
        "summary": "Place a market order, to deal at the next available price. The sign of quantity sets the direction. If the market is closed the order waits for it to open.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reference does not flag any body field as required, so none is marked required here. The reference warns that this call is not idempotent in the beta: sending the same request twice may place two orders. It also warns that a market order can fill at a different price from the one showing when it was sent, and that orders execute only in the account's main currency. Documented rate limit: 50 requests a minute.",
        "tags": [
          "Orders"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "Send application/json on a request with a body.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string",
                    "description": "Instrument ticker as Trading 212 writes it, for example AAPL_US_EQ. Read it from the instruments call.",
                    "x-required-unmarked": true
                  },
                  "quantity": {
                    "type": "number",
                    "description": "Number of shares. Positive to buy, negative to sell.",
                    "x-required-unmarked": true
                  },
                  "extendedHours": {
                    "type": "boolean",
                    "description": "True to let the order fill outside the regular session. Default false.",
                    "x-required-unmarked": true
                  }
                },
                "x-required-unmarked": [
                  "ticker",
                  "quantity",
                  "extendedHours"
                ]
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "id": 900001,
                  "ticker": "MOCK_US_EQ",
                  "instrument": {
                    "ticker": "MOCK_US_EQ",
                    "name": "Mock instrument",
                    "isin": "US0000000000",
                    "currency": "USD"
                  },
                  "type": "MARKET",
                  "side": "BUY",
                  "status": "NEW",
                  "strategy": "QUANTITY",
                  "quantity": 0.1,
                  "filledQuantity": 0,
                  "timeInForce": "DAY",
                  "extendedHours": false,
                  "initiatedFrom": "API",
                  "currency": "GBP",
                  "createdAt": "2026-09-18T08:00:00Z"
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/post-orders-market"
      }
    },
    "/api/v0/equity/orders/stop": {
      "post": {
        "operationId": "post-orders-stop",
        "summary": "Place a stop order, which becomes a market order once the last traded price reaches the stop price. The sign of quantity sets the direction.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reference does not flag any body field as required, so none is marked required here. The reference warns that this call is not idempotent in the beta: sending the same request twice may place two orders. Orders execute only in the account's main currency. Documented rate limit: 1 request every 2 seconds.",
        "tags": [
          "Orders"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "Send application/json on a request with a body.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string",
                    "description": "Instrument ticker as Trading 212 writes it, for example AAPL_US_EQ. Read it from the instruments call.",
                    "x-required-unmarked": true
                  },
                  "quantity": {
                    "type": "number",
                    "description": "Number of shares. Positive to buy, negative to sell.",
                    "x-required-unmarked": true
                  },
                  "stopPrice": {
                    "type": "number",
                    "description": "The price that triggers the order, compared with the instrument's last traded price.",
                    "x-required-unmarked": true
                  },
                  "timeValidity": {
                    "type": "string",
                    "description": "DAY or GOOD_TILL_CANCEL.",
                    "x-required-unmarked": true
                  }
                },
                "x-required-unmarked": [
                  "ticker",
                  "quantity",
                  "stopPrice",
                  "timeValidity"
                ]
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "id": 900001,
                  "ticker": "MOCK_US_EQ",
                  "instrument": {
                    "ticker": "MOCK_US_EQ",
                    "name": "Mock instrument",
                    "isin": "US0000000000",
                    "currency": "USD"
                  },
                  "type": "STOP",
                  "side": "BUY",
                  "status": "NEW",
                  "strategy": "QUANTITY",
                  "quantity": 0.1,
                  "filledQuantity": 0,
                  "timeInForce": "DAY",
                  "extendedHours": false,
                  "initiatedFrom": "API",
                  "currency": "GBP",
                  "createdAt": "2026-09-18T08:00:00Z",
                  "stopPrice": 100.23
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/post-orders-stop"
      }
    },
    "/api/v0/equity/orders/stop_limit": {
      "post": {
        "operationId": "post-orders-stop-limit",
        "summary": "Place a stop limit order: when the last traded price reaches the stop price, a limit order is placed at the limit price. The sign of quantity sets the direction.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reference does not flag any body field as required, so none is marked required here. The reference warns that this call is not idempotent in the beta: sending the same request twice may place two orders. Documented rate limit: 1 request every 2 seconds.",
        "tags": [
          "Orders"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "Send application/json on a request with a body.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string",
                    "description": "Instrument ticker as Trading 212 writes it, for example AAPL_US_EQ. Read it from the instruments call.",
                    "x-required-unmarked": true
                  },
                  "quantity": {
                    "type": "number",
                    "description": "Number of shares. Positive to buy, negative to sell.",
                    "x-required-unmarked": true
                  },
                  "stopPrice": {
                    "type": "number",
                    "description": "The price that triggers the order, compared with the instrument's last traded price.",
                    "x-required-unmarked": true
                  },
                  "limitPrice": {
                    "type": "number",
                    "description": "The price of the limit order placed once the stop is triggered.",
                    "x-required-unmarked": true
                  },
                  "timeValidity": {
                    "type": "string",
                    "description": "DAY or GOOD_TILL_CANCEL.",
                    "x-required-unmarked": true
                  }
                },
                "x-required-unmarked": [
                  "ticker",
                  "quantity",
                  "stopPrice",
                  "limitPrice",
                  "timeValidity"
                ]
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "A mock reply held on this site's record. The values are invented and the record holds no status code for it.",
            "content": {
              "application/json": {
                "example": {
                  "_mock": true,
                  "id": 900001,
                  "ticker": "MOCK_US_EQ",
                  "instrument": {
                    "ticker": "MOCK_US_EQ",
                    "name": "Mock instrument",
                    "isin": "US0000000000",
                    "currency": "USD"
                  },
                  "type": "STOP_LIMIT",
                  "side": "BUY",
                  "status": "NEW",
                  "strategy": "QUANTITY",
                  "quantity": 0.1,
                  "filledQuantity": 0,
                  "limitPrice": 100.23,
                  "timeInForce": "DAY",
                  "extendedHours": false,
                  "initiatedFrom": "API",
                  "currency": "GBP",
                  "createdAt": "2026-09-18T08:00:00Z",
                  "stopPrice": 100.23
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/post-orders-stop-limit"
      }
    },
    "/api/v0/equity/positions": {
      "get": {
        "operationId": "positions",
        "summary": "Every open position on the account, with quantity, average price paid, current price and the effect on the account in its own currency.",
        "description": "Read on 12 Oct 2026 in Trading 212's own API reference at docs.trading212.com/api and the OpenAPI description that page offers for download (docs.trading212.com/_bundle/api.json). The reference calls the API a beta and says it works only for Invest and Stocks ISA accounts. The reply is a list of positions, so no mock object is shown. Each entry carries instrument, quantity, quantityAvailableForTrading, quantityInPies, averagePricePaid, currentPrice, createdAt and walletImpact. Documented rate limit: 1 request a second.",
        "tags": [
          "Positions"
        ],
        "externalDocs": {
          "description": "Trading 212's own reference for this operation",
          "url": "https://docs.trading212.com/api"
        },
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Limit the reply to one instrument ticker.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-source": "https://docs.trading212.com/api",
        "x-checked": "2026-10-12",
        "x-version": "v0",
        "x-page": "https://openbrokerapi.com/brokers/trading-212/endpoints/positions"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Authorization": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "A header the Trading 212 endpoint records list on requests. Read its value from your own environment. Never paste it into a web page or a chat."
      }
    }
  }
}