Confirm trade quote Run in API Explorer

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://docs.staging.lumetrade.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Lumetrade Staging API MCP server": {
    "url": "https://docs.staging.lumetrade.com/mcp"
  }
}

Close
POST /api/v1/trades/quote/confirm

Confirms a previously issued RFQ quote for the authenticated API key owner.

Headers

  • X-API-KEY string Required

    Public API key issued from the Lumetrade API key management flow.

  • X-API-SECRET string Required

    API secret paired with the public API key.

application/json

Body Required

  • fromAmount number

    Amount the customer sends or pays from the quote response. Provide either fromAmount or toAmount, not both.

  • toAmount number

    Amount the customer receives from the quote response. Provide either toAmount or fromAmount, not both.

  • fromCurrency string

    Currency the customer sends or pays with.

  • quoteStr string

    Quote reference returned by /api/v1/trades/quote.

  • toCurrency string

    Currency the customer receives.

Responses

  • 200 application/json

    Quote confirmed successfully

  • 400 application/json

    Request validation failed

    Hide response attributes Show response attributes object
    • code integer(int32)
    • message string
    • httpStatus integer(int32)
    • requestId string
    • timestamp string(date-time)
    • errors array[object]
      Hide errors attributes Show errors attributes object
      • field string
      • message string
  • 403 application/json

    Authenticated API key is not allowed to perform this action

    Hide response attributes Show response attributes object
    • code integer(int32)
    • message string
    • httpStatus integer(int32)
    • requestId string
    • timestamp string(date-time)
    • errors array[object]
      Hide errors attributes Show errors attributes object
      • field string
      • message string
  • 429 application/json

    Cloudflare API rate limit exceeded

    Hide response attributes Show response attributes object
    • error string
    • message string
  • 401 application/json

    API key authentication failed

    Hide response attributes Show response attributes object
    • code integer(int32)
    • message string
    • httpStatus integer(int32)
    • requestId string
    • timestamp string(date-time)
    • errors array[object]
      Hide errors attributes Show errors attributes object
      • field string
      • message string
  • 500 application/json

    Unexpected server error

    Hide response attributes Show response attributes object
    • code integer(int32)
    • message string
    • httpStatus integer(int32)
    • requestId string
    • timestamp string(date-time)
    • errors array[object]
      Hide errors attributes Show errors attributes object
      • field string
      • message string
POST /api/v1/trades/quote/confirm
curl \
 --request POST 'https://api.staging.lumetrade.com/api/v1/trades/quote/confirm' \
 --header "Content-Type: application/json" \
 --header "X-API-KEY: string" \
 --header "X-API-SECRET: string" \
 --data '"{\n  \"fromAmount\": 100,\n  \"fromCurrency\": \"USDT\",\n  \"toCurrency\": \"ZAR\",\n  \"quoteStr\": \"rfq_quote_7K9Q2M\"\n}"'
Request examples
Confirm by send amount
{
  "fromAmount": 100,
  "fromCurrency": "USDT",
  "toCurrency": "ZAR",
  "quoteStr": "rfq_quote_7K9Q2M"
}
Confirm by receive amount
{
  "toAmount": 1840,
  "fromCurrency": "USDT",
  "toCurrency": "ZAR",
  "quoteStr": "rfq_quote_7K9Q2M"
}
Response examples (200)
Confirmed trade by send amount
{
  "fromCurrency": "USDT",
  "toCurrency": "ZAR",
  "fromAmount": 100,
  "toAmount": 1840,
  "rate": 18.4,
  "isRateInverted": false,
  "isRfq": true,
  "status": "COMPLETED",
  "transactionId": "TID4J7K2N",
  "createdAt": "2026-05-11T10:15:30Z",
  "completedAt": "2026-05-11T10:15:35"
}
Confirmed trade by receive amount
{
  "fromCurrency": "USDT",
  "toCurrency": "ZAR",
  "fromAmount": 100,
  "toAmount": 1840,
  "rate": 18.4,
  "isRateInverted": false,
  "isRfq": true,
  "status": "COMPLETED",
  "transactionId": "TID4J7K2N",
  "createdAt": "2026-05-11T10:15:30Z",
  "completedAt": "2026-05-11T10:15:35"
}
Response examples (400)
{
  "httpStatus": 400,
  "errors": [],
  "timestamp": "2026-01-01T00:00:00Z",
  "code": 400,
  "message": "Request validation failed",
  "requestId": "req_01HY0000000000000000000000"
}
Response examples (403)
{
  "httpStatus": 403,
  "errors": [],
  "timestamp": "2026-01-01T00:00:00Z",
  "code": 403,
  "message": "Authenticated API key is not allowed to perform this action",
  "requestId": "req_01HY0000000000000000000000"
}
Response examples (429)
{
  "error": "rate_limit_exceeded",
  "message": "API rate limit exceeded"
}
Response examples (401)
{
  "httpStatus": 401,
  "errors": [],
  "timestamp": "2026-01-01T00:00:00Z",
  "code": 401,
  "message": "API key authentication failed",
  "requestId": "req_01HY0000000000000000000000"
}
Response examples (500)
{
  "httpStatus": 500,
  "errors": [],
  "timestamp": "2026-01-01T00:00:00Z",
  "code": 500,
  "message": "Unexpected server error",
  "requestId": "req_01HY0000000000000000000000"
}