Bithumb Spot Trading API

Authenticated spot order management

OpenAPI Specification

bithumb-spot-trading-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Bithumb Global REST Account Spot Trading API
  description: 'REST API for Bithumb Global (bithumb.pro), South Korea''s leading cryptocurrency exchange. Provides public market data and authenticated private endpoints for spot trading, account management, and deposit/withdrawal operations across 396+ cryptocurrencies.

    '
  version: 1.0.0
  contact:
    name: Bithumb Developer Support
    url: https://apidocs.bithumb.com
  termsOfService: https://www.bithumb.com/u1/US139
servers:
- url: https://global-openapi.bithumb.pro/openapi/v1
  description: Bithumb Global REST API v1
tags:
- name: Spot Trading
  description: Authenticated spot order management
paths:
  /spot/placeOrder:
    post:
      summary: Place a spot order
      description: Creates a new spot order. Requires transaction authentication.
      operationId: placeSpotOrder
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - symbol
              - type
              - side
              - price
              - quantity
              - timestamp
              properties:
                symbol:
                  type: string
                  example: BTC-USDT
                type:
                  type: string
                  enum:
                  - limit
                  - market
                side:
                  type: string
                  enum:
                  - buy
                  - sell
                price:
                  type: string
                  description: Order price. Set to -1 for market orders.
                quantity:
                  type: string
                  description: Order quantity. For market buy, this is the quote currency amount.
                timestamp:
                  type: string
                  description: Request timestamp in milliseconds
                msgNo:
                  type: string
                  description: Client order ID (max 50 chars)
                apiKey:
                  type: string
                signature:
                  type: string
      responses:
        '200':
          description: Order placed successfully
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BaseResponse'
                - type: object
                  properties:
                    data:
                      type: object
                      properties:
                        orderId:
                          type: string
                        symbol:
                          type: string
  /spot/cancelOrder:
    post:
      summary: Cancel a spot order
      description: Cancels an existing spot order. Requires transaction authentication.
      operationId: cancelSpotOrder
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              - symbol
              properties:
                orderId:
                  type: string
                symbol:
                  type: string
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
      responses:
        '200':
          description: Order cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponse'
  /spot/cancelOrder/batch:
    post:
      summary: Batch cancel spot orders
      description: Cancels multiple spot orders. Requires transaction authentication.
      operationId: batchCancelSpotOrders
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - symbol
              properties:
                symbol:
                  type: string
                ids:
                  type: string
                  description: Comma-separated order IDs (max 100). If empty, cancels all orders for the symbol.
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
            example:
              symbol: ETH-USDT
              ids: 74740189190115328,74740189190115329
      responses:
        '200':
          description: Orders cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponse'
  /spot/placeOrders:
    post:
      summary: Batch place spot orders
      description: Places multiple spot orders (up to 10). Requires transaction authentication.
      operationId: batchPlaceSpotOrders
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - multiParams
              properties:
                multiParams:
                  type: string
                  description: JSON-encoded array of order parameter objects (max 10 orders)
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
      responses:
        '200':
          description: Orders placed
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BaseResponse'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          data:
                            type: object
                            properties:
                              orderId:
                                type: string
                              symbol:
                                type: string
                          code:
                            type: string
                          msg:
                            type: string
                          timestamp:
                            type: integer
                            format: int64
  /spot/singleOrder:
    post:
      summary: Query single order
      description: Returns details of a specific order.
      operationId: getSpotSingleOrder
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              - symbol
              properties:
                orderId:
                  type: string
                symbol:
                  type: string
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
      responses:
        '200':
          description: Order details
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BaseResponse'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/Order'
  /spot/openOrders:
    post:
      summary: Query open orders
      description: Returns a paginated list of open orders for a symbol.
      operationId: getSpotOpenOrders
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - symbol
              properties:
                symbol:
                  type: string
                page:
                  type: string
                  description: Page number (default 1)
                count:
                  type: string
                  description: Records per page (default 10)
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
      responses:
        '200':
          description: Open order list
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BaseResponse'
                - type: object
                  properties:
                    data:
                      type: object
                      properties:
                        num:
                          type: integer
                          format: int64
                        list:
                          type: array
                          items:
                            $ref: '#/components/schemas/Order'
  /spot/orderList:
    post:
      summary: Query order history
      description: Returns a paginated list of historical (completed/cancelled) orders.
      operationId: getSpotOrderList
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - side
              - symbol
              - status
              - queryRange
              properties:
                side:
                  type: string
                  enum:
                  - buy
                  - sell
                symbol:
                  type: string
                status:
                  type: string
                  description: Order status filter (e.g. 'traded' for history)
                queryRange:
                  type: string
                  enum:
                  - thisweek
                  - thisweekago
                  description: thisweek=last 7 days, thisweekago=before 7 days ago
                page:
                  type: string
                count:
                  type: string
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
      responses:
        '200':
          description: Order history
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BaseResponse'
                - type: object
                  properties:
                    data:
                      type: object
                      properties:
                        num:
                          type: integer
                          format: int64
                        list:
                          type: array
                          items:
                            $ref: '#/components/schemas/Order'
  /spot/orderDetail:
    post:
      summary: Query order trade details
      description: Returns trade-level fill details for an order.
      operationId: getSpotOrderDetail
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              - symbol
              properties:
                orderId:
                  type: string
                symbol:
                  type: string
                page:
                  type: string
                  description: Page number (default 1)
                count:
                  type: string
                  description: Records per page (default 10)
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
      responses:
        '200':
          description: Order fill details
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BaseResponse'
                - type: object
                  properties:
                    data:
                      type: object
                      properties:
                        num:
                          type: integer
                          format: int64
                        list:
                          type: array
                          items:
                            type: object
                            properties:
                              orderId:
                                type: string
                              orderSign:
                                type: string
                                description: taker or maker
                              getCount:
                                type: string
                              getCountUnit:
                                type: string
                              loseCount:
                                type: string
                              loseCountUnit:
                                type: string
                              price:
                                type: string
                              priceUnit:
                                type: string
                              fee:
                                type: string
                              feeUnit:
                                type: string
                              time:
                                type: integer
                                format: int64
                              fsymbol:
                                type: string
                              side:
                                type: string
                                enum:
                                - buy
                                - sell
  /spot/myTrades:
    post:
      summary: Query my trades
      description: Returns recent personal trade history for a symbol.
      operationId: getSpotMyTrades
      tags:
      - Spot Trading
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - symbol
              properties:
                symbol:
                  type: string
                startTime:
                  type: integer
                  format: int64
                  description: Start timestamp in ms (defaults to current time if omitted)
                limit:
                  type: integer
                apiKey:
                  type: string
                timestamp:
                  type: integer
                  format: int64
                signature:
                  type: string
      responses:
        '200':
          description: Personal trade history
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BaseResponse'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            format: int64
                          price:
                            type: number
                          amount:
                            type: number
                          side:
                            type: string
                            enum:
                            - buy
                            - sell
                          direction:
                            type: string
                            enum:
                            - taker
                            - maker
                          time:
                            type: integer
                            format: int64
components:
  schemas:
    BaseResponse:
      type: object
      properties:
        code:
          type: string
          example: '0'
        msg:
          type: string
          example: success
        timestamp:
          type: integer
          format: int64
        params:
          type: array
          items: {}
    Order:
      type: object
      properties:
        orderId:
          type: string
        symbol:
          type: string
        price:
          type: string
        tradedNum:
          type: string
          description: Completed quantity
        quantity:
          type: string
          description: Total quantity
        avgPrice:
          type: string
          description: Average fill price
        status:
          type: string
          enum:
          - send
          - pending
          - success
          - cancel
        type:
          type: string
          enum:
          - market
          - limit
        side:
          type: string
          enum:
          - buy
          - sell
        createTime:
          type: string
        tradeTotal:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey
      description: 'API key issued from bithumb.pro. All authenticated requests must also include `timestamp` (Unix ms) and `signature` (HmacSHA256 of sorted request parameters joined with "&").

        '