Confirm conversion quote

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.lumepay.com/mcp

Standard setup for AI tools providing an mcp.json file

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

Close
POST /api/v1/conversions/quote/confirm

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

Headers

  • X-API-KEY string Required

    Public API key issued from the Lumepay 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/conversions/quote.

  • toCurrency string

    Currency the customer receives.

Responses

  • 200 application/json

    Conversion 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
  • 429 application/json

    Cloudflare API rate limit exceeded

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