---
updatedAt: 2026-07-13T22:20:03.000Z
agentTools:
  projectIndex: https://developer.i-payout.com/llms.txt
---

# Creates an FX Quote

Creates an FX quote for a specified currency pair. The generated quote provides the applicable exchange rate and fees and remains valid for 30 minutes. Use the returned FX Quote ID when creating transfers to lock in the quoted rate during its validity period.

<br />

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "IPS Portal Rest API - V1",
    "description": "i-payout API",
    "contact": {
      "name": "i-payout tech support",
      "email": "techsupport@i-payout.com"
    },
    "license": {
      "name": "i-payout API",
      "url": "http://www.i-payout.com"
    },
    "version": "v1"
  },
  "paths": {
    "/api/v1/transfers/quote": {
      "post": {
        "tags": [
          "Transfer"
        ],
        "summary": "Creates an FX Quote",
        "operationId": "create-fx-quote",
        "requestBody": {
          "description": "The fx quote information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FxQuoteViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponseFxRateWithMarkup"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponseFxRateWithMarkup"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponseFxRateWithMarkup"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": [],
            "X-MerchantId": []
          }
        ],
        "description": "Creates an FX quote for a specified currency pair. The generated quote provides the applicable exchange rate and fees and remains valid for 30 minutes. Use the returned FX Quote ID when creating transfers to lock in the quoted rate during its validity period."
      }
    }
  },
  "components": {
    "schemas": {
      "ApiResponseFxRateWithMarkup": {
        "type": "object",
        "properties": {
          "isSuccess": {
            "type": "boolean",
            "description": "Indicates if the API call was successful or not."
          },
          "message": {
            "type": "string",
            "description": "A human readable status message that may be used for debugging.",
            "nullable": true
          },
          "statusCode": {
            "$ref": "#/components/schemas/StatusConstants"
          },
          "logIdentifier": {
            "type": "string",
            "description": "Utilized for support, a log identifier to provide to i-payout when requesting technical support.",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/FxQuoteResponseDTO"
          }
        },
        "additionalProperties": false
      },
      "FxQuoteResponseDTO": {
        "type": "object",
        "properties": {
          "quoteIdentifier": {
            "type": "string",
            "format": "uuid"
          },
          "sourceCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "destinationCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "sourceAmount": {
            "type": "number",
            "format": "double"
          },
          "destinationAmount": {
            "type": "number",
            "format": "double"
          },
          "fxRate": {
            "type": "number",
            "format": "double"
          },
          "dateAddedUtc": {
            "type": "string",
            "format": "date-time"
          },
          "dateExpiresUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "FxQuoteViewModel": {
        "required": [
          "destinationCurrency",
          "sourceCurrency"
        ],
        "type": "object",
        "properties": {
          "sourceCurrency": {
            "maxLength": 3,
            "type": "string",
            "description": "The currency of the source amount."
          },
          "destinationCurrency": {
            "maxLength": 3,
            "type": "string",
            "description": "The currency of the destination amount."
          }
        },
        "additionalProperties": false,
        "description": "Transfer API FxQuote model"
      },
      "StatusConstants": {
        "enum": [
          "NO_ERROR",
          "EMAIL_ADDRESS_EXISTS",
          "CAPTCHA_FAILED",
          "INVALID_REFERENCEID",
          "INVALID_OPERATION",
          "INVALID_TIN_VALIDATION_STATUS",
          "RECORD_NOT_FOUND",
          "Already_Exist",
          "Batch_Closed",
          "IP_BLACKLISTED",
          "CREDIT_CARD_PROCESSOR_ISSUE",
          "FEES_NOT_ACCEPTED",
          "PAYOUT_CAPABILITIES_DISABLED",
          "INVALID_RECURRING_PAYMENT_STATUS",
          "INVOICE_CAPABILITIES_DISABLED",
          "INVALID_EWALLET_REGISTRATION",
          "PRIVATE_KEY_ISSUE",
          "FILE_NOT_EXISTS",
          "OLDUSER_NEWUSER_MISMATCH",
          "USER_CANNOT_CREATED",
          "CANNOT_CREATE_NEW_BATCH",
          "REFERENCEID_ALREADY_EXISTS",
          "DELETE_RECORD_ERROR",
          "FX_ConversionRate_Issue",
          "RATE_LIMIT_EXCEEDED",
          "IP_NOT_ALLOWED",
          "COUNTRY_NOT_ALLOWED",
          "INVALID_FIELD_VALUE_LENGTH",
          "UNAUTHORIZED_API_CALL",
          "FEE_VALUE_NOT_FOUND_FOR_CUSTOMER",
          "IPADDRESS_GENERATION_ISSUE",
          "MERCHANT_NOT_FOUND",
          "INVALID_PARAMS",
          "Missing_HEADER_PARAMS",
          "INVALID_URL",
          "INVALID_AMOUNT",
          "INVALID_CURRENCY",
          "REQUIRED_PARAMETER",
          "INVALID_REQUEST_PARAM",
          "INVALID_REQUEST_RESPONSE_PARAM",
          "INVALID_SERVER_CONFIG",
          "ACCESS_DENIED",
          "INVALID_COUNTRY_CODE",
          "PROCESSING",
          "PENDING",
          "NO_RECORDS_FOUND",
          "INVALID_MERCHANT",
          "PAL_INVALID_EMAIL",
          "INVALID_CARD_NUMBER",
          "INSUFFICIENT_FUNDS",
          "USERNAME_EXISTS",
          "USER_NOT_LOGGED_IN",
          "INVALID_CLIENT_CREDENTIALS",
          "ACCOUNT_NOT_FOUND",
          "GENERAL_ERROR",
          "CUSTOMER_NOT_FOUND",
          "INTERNAL_ERROR"
        ],
        "type": "string",
        "description": "Api response status code. For possible values, see <a target='_blank' href='https://i-payout.readme.io/reference/status-code-values' />Status Code Values </a>."
      }
    },
    "securitySchemes": {
      "basic": {
        "type": "http",
        "description": "Use API username and password to get the dynamic bearer token which can be used to access all other API, Example: 'Basic 12345adfad'",
        "scheme": "basic"
      },
      "Bearer": {
        "type": "apiKey",
        "description": "JWT Authorization header using the Bearer scheme.Enter 'Bearer' [space] and then your token in the text input below. Example: 'Bearer 12345abcdef'",
        "name": "Authorization",
        "in": "header"
      },
      "X-MerchantId": {
        "type": "apiKey",
        "description": "Merchant Identifier (GUID)",
        "name": "X-MerchantId",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [],
      "basic": [],
      "X-MerchantId": []
    }
  ]
}
```