The Submit a New Quote endpoint allows developers to request a new foreign exchange quote asynchronously. This operation is essential for initiating the RFQ (Request for Quote) process, which can be used to obtain competitive pricing for FX transactions. Upon submission, the system processes the request and returns a unique quote identifier, enabling further interactions such as polling for the quote’s status or accepting the quote.


Key Points:

  • Endpoint: POST /fx/v1.0/quotes/{country-code}

  • Purpose: To initiate a new quote request for a specified currency pair.

  • Asynchronous Process: The quote request is processed asynchronously, allowing for efficient handling of large volumes of requests.

  • authorisation: Requires a bearer token obtained via OAuth 2.0 to authorise the request.


Request Details:

  • Headers:
    • authorisation: Bearer <access_token> - Include the bearer token for authorisation.

    • X-Correlation-Id (Optional) - Used for tracing and logging purposes.

    • X-Message-Id (Required) - Ensures unique identification of each request to avoid duplicates.

  • Body Parameters:
    • customerExternalIdentifier - A unique identifier for the customer, used for MIS purposes.

    • channelTransactionIdentifier - An identifier used by the channel to uniquely identify the quote request.

    • currencyPair - A valid currency pair, following market conventions and verified by the pricing engine.

    • Additional fields may include details about the parent deal and auxiliary types, depending on the specific use case.


Example Response:

On success, the service will acknowledge the quote request with a 202 Accepted status, and a unique quote identifier will be issued for tracking.

{
  "channelTransactionIdentifier": "0123456789",
  "quoteIdentifier": "MKT-d75a03b5-2d7c-4db0-b30f-bcccc67a4fed",
  "status": "ACCEPTED"
}

Usage Notes:

  • Tracking: Use the quoteIdentifier from the response to track the status of the RFQ and for any further actions, such as polling for the response or accepting the quote.

  • Error Handling: Ensure to handle common HTTP errors such as:

    • 400 Bad Request: Malformed requests.
    • 401 Unauthorised: Missing or invalid tokens.
    • 503 Service Unavailable: If the service is down.