> ## Documentation Index
> Fetch the complete documentation index at: https://hoalulab.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Đảo vị thế

> Đóng toàn bộ vị thế phái sinh hiện tại và mở ngay vị thế mới theo hướng ngược lại. 
Lệnh LO ngược chiều, khối lượng đặt gấp đôi khối lượng mở của vị thế hiện tại, giá đặt bằng giá sàn (đảo Mua→Bán) hoặc giá trần (đảo Bán→Mua).

Chỉ áp dụng cho giao dịch phái sinh. Hỗ trợ các vị thế có khối lượng mở tối đa 250 HĐ. 
Không áp dụng cho các vị thế trong trường hợp: đang bị bán xử lý (force sell), đang chờ đóng hoặc đang chờ đảo vị thế.



## OpenAPI

````yaml /vi/openapi/dnse.2026-09-25.openapi.yaml post /positions/{positionId}/reverse
openapi: 3.0.0
info:
  title: DNSE OpenAPI (2026-09-25)
  version: 2.0.0
  description: DNSE OpenAPI spec
servers:
  - url: https://openapi.dnse.com.vn
    description: Production
  - url: https://sb-openapi.dnse.com.vn
    description: Sanbox
security: []
tags:
  - name: trading
    description: Xác thực và các hoạt động đặt lệnh.
    x-group: Giao dịch
  - name: account
    description: Tài khoản, số dư, khoản vay, lệnh và vị thế.
    x-group: Tài khoản
  - name: market
    description: Thông tin mã chứng khoán, báo giá, OHLC và giao dịch.
    x-group: Dữ liệu thị trường
paths:
  /positions/{positionId}/reverse:
    parameters:
      - name: positionId
        in: path
        required: true
        description: Id vị thế
        schema:
          type: string
        example: '177410795472387'
    post:
      tags:
        - trading
      summary: Đảo vị thế
      description: >-
        Đóng toàn bộ vị thế phái sinh hiện tại và mở ngay vị thế mới theo hướng
        ngược lại. 

        Lệnh LO ngược chiều, khối lượng đặt gấp đôi khối lượng mở của vị thế
        hiện tại, giá đặt bằng giá sàn (đảo Mua→Bán) hoặc giá trần (đảo
        Bán→Mua).


        Chỉ áp dụng cho giao dịch phái sinh. Hỗ trợ các vị thế có khối lượng mở
        tối đa 250 HĐ. 

        Không áp dụng cho các vị thế trong trường hợp: đang bị bán xử lý (force
        sell), đang chờ đóng hoặc đang chờ đảo vị thế.
      operationId: account_reversePosition
      parameters:
        - $ref: '#/components/parameters/XApiKey'
        - $ref: '#/components/parameters/XAuxDate'
        - $ref: '#/components/parameters/XSignature'
        - $ref: '#/components/parameters/TradingToken'
        - name: version
          in: header
          required: false
          description: API version (YYYY-MM-DD)
          schema:
            type: string
        - name: marketType
          in: query
          required: false
          description: |-
            Loại thị trường
            - STOCK: Danh sách Deal cơ sở
            - DERIVATIVE: Danh sách Deal phái sinh
            Hiện tại chỉ hỗ trợ phái sinh
          schema:
            $ref: '#/components/schemas/MarketType'
          example: DERIVATIVE
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PositionReverseResponse'
              example:
                id: 446
                side: NS
                accountNo: '0001179019'
                symbol: 41I1G9000
                price: 1804.2
                quantity: 46
                orderType: LO
                loanPackageId: 2279
                createdDate: '2026-09-14T03:07:16.806Z'
                modifiedDate: '2026-09-14T03:07:16.806Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    XApiKey:
      name: X-Api-Key
      in: header
      required: true
      description: >-
        API key được cấp khi đăng ký dịch vụ DNSE OpenAPI.

        Ví dụ:
        `b3JnOmRuc2UgaWQ6MjdlZTc1MzcxZGFkNTY0NmYzYTM2NDk1ZGE3OGNiOGQgaDptdXJtdXIxMjg=`
      schema:
        type: string
    XAuxDate:
      name: X-Aux-Date
      in: header
      required: true
      description: |-
        Thời gian thực hiện request, dùng trong cơ chế ký request của DNSE.
        Ví dụ: `Sat, 01 May 2026 14:24:23 +0000`
      schema:
        type: string
    XSignature:
      name: X-Signature
      in: header
      required: true
      description: >-
        Chữ ký xác thực request được tạo từ API key secret và X-Aux-Date.

        Ví dụ: `Signature
        keyId="b3JnOmRuc2UgaWQ6MjdlZTc1MzcxZGFkNTY0NmYzYTM2NDk1ZGE3OGNiOGQgaDptdXJtdXIxMjg=",algorithm="hmac-sha256",headers="(request-target)
        x-aux-date",signature="rfbVXHDUi%2B%2FsOkLXle7O17Qm%2F05cbISSR%2BDcFrBHfqQ%3D",nonce="4add8c3264e4492b9f8ecde0cf26b523"`
      schema:
        type: string
    TradingToken:
      name: trading-token
      in: header
      required: true
      description: >-
        Trading token dùng cho các operation đặt, sửa, hủy lệnh hoặc đóng vị
        thế.

        Ví dụ: `9ab81e9c-8a81-45aa-8190-b69a1c179d52`
      schema:
        type: string
  schemas:
    MarketType:
      type: string
      description: |-
        Loại thị trường.

        - `STOCK`: Giao dịch cơ sở
        - `DERIVATIVE`: Giao dịch phái sinh
        - `BOND`: Giao dịch trái phiếu
      enum:
        - STOCK
        - DERIVATIVE
        - BOND
      x-enum-descriptions:
        - Giao dịch cơ sở
        - Giao dịch phái sinh
        - Giao dịch trái phiếu
      x-enum-varnames:
        - STOCK
        - DERIVATIVE
        - BOND
      example: STOCK
    PositionReverseResponse:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 446
          description: Id lệnh giao dịch
        side:
          allOf:
            - $ref: '#/components/schemas/OrderSide'
          example: NS
          description: |-
            Chiều đặt lệnh

                  - NB: Mua

                  - NS: Bán
        accountNo:
          type: string
          example: '0001179019'
          description: Số tiểu khoản
        symbol:
          type: string
          example: 41I1G9000
          description: Mã chứng khoán
        price:
          type: number
          format: double
          example: 1804.2
          description: Giá đặt
        quantity:
          type: integer
          format: int32
          example: 46
          description: Khối lượng đặt
        orderType:
          allOf:
            - $ref: '#/components/schemas/OrderType'
          example: LO
          description: |-
            Loại lệnh

                  - LO: Lệnh giới hạn
        loanPackageId:
          type: integer
          format: int32
          example: 2279
          description: Mã gói vay
        createdDate:
          type: string
          format: date-time
          example: '2026-09-14T03:07:16.806Z'
          description: Thời điểm tạo
        modifiedDate:
          type: string
          format: date-time
          example: '2026-09-14T03:07:16.806Z'
          description: Thời điểm cập nhật
    OrderSide:
      type: string
      description: |-
        Chiều đặt lệnh hoặc vị thế.

        - `NB`: Mua
        - `NS`: Bán
      enum:
        - NB
        - NS
      x-enum-descriptions:
        - Mua
        - Bán
      x-enum-varnames:
        - BUY
        - SELL
      example: NB
    OrderType:
      type: string
      description: |-
        Loại lệnh.

        - `LO`: Lệnh giới hạn
        - `MOK`: Lệnh thị trường khớp toàn bộ hoặc hủy
        - `MAK`: Lệnh thị trường khớp một phần và hủy phần còn lại
        - `MTL`: Lệnh thị trường khớp theo giá thị trường
        - `ATO`: Lệnh phiên định kỳ mở cửa
        - `ATC`: Lệnh phiên định kỳ đóng cửa
        - `PLO`: Lệnh khớp lệnh sau giờ
      enum:
        - LO
        - MOK
        - MAK
        - MTL
        - ATO
        - ATC
        - PLO
      x-enum-descriptions:
        - Lệnh giới hạn
        - Lệnh thị trường khớp toàn bộ hoặc hủy
        - Lệnh thị trường khớp một phần và hủy phần còn lại
        - Lệnh thị trường khớp theo giá thị trường
        - Lệnh phiên định kỳ mở cửa
        - Lệnh phiên định kỳ đóng cửa
        - Lệnh khớp lệnh sau giờ
      x-enum-varnames:
        - LIMIT
        - MARKET_OR_CANCEL
        - MARKET_AND_CANCEL
        - MARKET_TO_LIMIT
        - AT_OPEN
        - AT_CLOSE
        - POST_CLOSE
      example: LO
    ErrorBody:
      type: object
      required:
        - status
        - code
        - message
      properties:
        status:
          type: integer
          format: int32
          description: Mã HTTP.
          example: 400
        code:
          type: string
          description: Mã lỗi DNSE.
          example: OA-003
        message:
          type: string
          description: Thông điệp lỗi.
          example: Thông tin nhập không hợp lệ
  responses:
    BadRequest:
      description: Yêu cầu không hợp lệ.
      headers:
        Content-Length:
          $ref: '#/components/headers/ContentLength'
        Date:
          $ref: '#/components/headers/Date'
        Vary:
          $ref: '#/components/headers/Vary'
        X-Ratelimit-Limit:
          $ref: '#/components/headers/XRateLimitLimit'
        X-Ratelimit-Remaining:
          $ref: '#/components/headers/XRateLimitRemaining'
        X-Ratelimit-Reset:
          $ref: '#/components/headers/XRateLimitReset'
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        X-Tyk-Api-Expires:
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            status: 400
            code: OA-003
            message: Thông tin nhập không hợp lệ
    InternalError:
      description: Lỗi hệ thống.
      headers:
        Content-Length:
          $ref: '#/components/headers/ContentLength'
        Date:
          $ref: '#/components/headers/Date'
        Vary:
          $ref: '#/components/headers/Vary'
        X-Ratelimit-Limit:
          $ref: '#/components/headers/XRateLimitLimit'
        X-Ratelimit-Remaining:
          $ref: '#/components/headers/XRateLimitRemaining'
        X-Ratelimit-Reset:
          $ref: '#/components/headers/XRateLimitReset'
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        X-Tyk-Api-Expires:
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            status: 500
            code: OA-009
            message: Lỗi hệ thống
  headers:
    ContentLength:
      description: Response body size in bytes.
      schema:
        type: integer
      example: 430
    Date:
      description: Response date from the DNSE gateway.
      schema:
        type: string
      example: Wed, 18 Mar 2026 16:17:35 GMT
    Vary:
      description: >-
        Response header indicating the request headers used for content
        negotiation.
      schema:
        type: string
      example: Origin
    XRateLimitLimit:
      description: Maximum number of requests allowed in the current rate-limit window.
      schema:
        type: integer
      example: 300
    XRateLimitRemaining:
      description: Number of requests remaining in the current rate-limit window.
      schema:
        type: integer
      example: 299
    XRateLimitReset:
      description: Unix timestamp at which the current rate-limit window resets.
      schema:
        type: integer
      example: 1773850655
    XRequestId:
      description: Unique identifier assigned to the request by the DNSE gateway.
      schema:
        type: string
      example: unknown

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.