Create new order

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://bump.sh/tie-tech/hub/b2b-api/doc/broker-openapi/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "broker-openapi MCP server": {
    "url": "https://bump.sh/tie-tech/hub/b2b-api/doc/broker-openapi/mcp"
  }
}

Close
POST /trading/accounts/{account_id}/orders

Headers

  • PRE-ACCESS-KEY string Required

    Broker access key identifier.

    Format should match the following pattern: ^[A-Za-z0-9._~-]{1,64}$.

  • PRE-ACCESS-SIGNATURE string Required

    Keyed BLAKE2b-256 signature (hex lowercase, 64 characters).

    Format should match the following pattern: ^[0-9a-f]{64}$.

  • PRE-ACCESS-TIMESTAMP string(date-time) Required

    RFC3339 timestamp with milliseconds (e.g., 2025-10-30T06:00:34.075Z). Must be within clock_skew_tolerance (default 5m) of server time.

  • Idempotency-Key string Required

    Stable idempotency token reused on retries. Reuse with identical payload => 202. Reuse with different payload => 409 idempotency_key_mismatch.

    Maximum length is 64. Format should match the following pattern: ^[A-Za-z0-9._~-]{1,64}$.

  • Correlation-Id string

    Optional UUIDv7 correlation identifier (lowercase). Must match RFC4122 UUIDv7 (version nibble '7', variant 8|9|a|b). If present but invalid → 422 invalid_correlation_id (error_code).

    Format should match the following pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$.

Path parameters

  • account_id string Required

    Broker-supplied account identifier; length 1..128; charset [A-Za-z0-9._~-].

    Maximum length is 128. Format should match the following pattern: ^[A-Za-z0-9._~-]{1,128}$.

application/json

Body Required

  • market_id string Required
  • side string Required

    Values are BUY or SELL.

  • type string Required

    Values are LIMIT or MARKET.

  • tif string Required

    Values are GTC, IOC, FOK, or DAY.

  • token string Required

    Values are YES or NO.

  • price object

    Required for LIMIT orders. Forbidden for MARKET orders.

    Hide price attributes Show price attributes object
    • units integer(int64) Required
    • nanos integer(int32) Required

      Minimum value is -999999999, maximum value is 999999999.

  • qty object

    Required for LIMIT and MARKET SELL orders. Forbidden for MARKET BUY.

    Hide qty attributes Show qty attributes object
    • units integer(int64) Required
    • nanos integer(int32) Required

      Minimum value is -999999999, maximum value is 999999999.

  • volume object

    Required for MARKET BUY orders (total budget). Forbidden for MARKET SELL.

    Hide volume attributes Show volume attributes object
    • units integer(int64) Required
    • nanos integer(int32) Required

      Minimum value is -999999999, maximum value is 999999999.

  • client_order_id string Required

    Client-supplied identifier. Must be unique per broker_id. Reuse of the same ID may lead to unpredictable behavior when using client_order_id for lookups or modifications (e.g., affecting only the latest or an arbitrary order).

    Maximum length is 64. Format should match the following pattern: ^[A-Za-z0-9._~-]{1,64}$.

  • auto_merge boolean

    Automatically merge YES and NO tokens for this account if they accumulate after this trade.

    Default value is false.

Responses

  • 201 application/json

    Order creation command accepted

    Any of:
  • 202 application/json

    Idempotent replay (command already accepted)

    Any of:
  • 409 application/json

    Idempotency-Key reused with different payload

    Hide response attributes Show response attributes object
    • error_code string Required
    • message string Required
    • details object

      Additional properties are allowed.

  • 422 application/json

    Validation / semantic error

    Hide response attributes Show response attributes object
    • error_code string Required
    • message string Required
    • details object

      Additional properties are allowed.

  • 429 application/json

    Rate limit exceeded

    Hide headers attribute Show headers attribute
    • Retry-After integer

      Seconds until new window

    Hide response attributes Show response attributes object
    • error_code string Required
    • message string Required
    • details object

      Additional properties are allowed.

  • 503 application/json

    Backpressure / temporary unavailability

    Hide response attributes Show response attributes object
    • error_code string Required
    • message string Required
    • details object

      Additional properties are allowed.

POST /trading/accounts/{account_id}/orders
curl \
 --request POST 'https://api.example.com/v1/trading/accounts/{account_id}/orders' \
 --header "Content-Type: application/json" \
 --header "PRE-ACCESS-KEY: string" \
 --header "PRE-ACCESS-SIGNATURE: string" \
 --header "PRE-ACCESS-TIMESTAMP: 2026-05-04T09:42:00Z" \
 --header "Idempotency-Key: string" \
 --header "Correlation-Id: string" \
 --data '"{\n  \"market_id\": \"btcusdt\",\n  \"side\": \"BUY\",\n  \"type\": \"LIMIT\",\n  \"tif\": \"GTC\",\n  \"price\": {\n    \"units\": 25000,\n    \"nanos\": 0\n  },\n  \"qty\": {\n    \"units\": 1,\n    \"nanos\": 0\n  },\n  \"client_order_id\": \"cli-ord-12345\"\n}"'
Request example
{
  "market_id": "btcusdt",
  "side": "BUY",
  "type": "LIMIT",
  "tif": "GTC",
  "price": {
    "units": 25000,
    "nanos": 0
  },
  "qty": {
    "units": 1,
    "nanos": 0
  },
  "client_order_id": "cli-ord-12345"
}
Response examples (201)
{
  "order_id": "string",
  "client_order_id": "string"
}
{
  "order_id": "string",
  "client_order_id": "string"
}
Response examples (202)
{
  "order_id": "string",
  "client_order_id": "string"
}
{
  "order_id": "string",
  "client_order_id": "string"
}
Response examples (409)
{
  "error_code": "string",
  "message": "string",
  "details": {}
}
Response examples (422)
{
  "error_code": "string",
  "message": "string",
  "details": {}
}
Response examples (429)
# Headers
Retry-After: 42

# Payload
{
  "error_code": "string",
  "message": "string",
  "details": {}
}
Response examples (503)
{
  "error_code": "string",
  "message": "string",
  "details": {}
}