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 "&"). '