# Retrieve a quote by ID

Get quote info by ID. If the quote has expired (not used to create a transfer within 30 minutes of quote creation), it will only be accessible for approximately 48 hours via this endpoint.

Endpoint: GET /v3/profiles/{profileId}/quotes/{quoteId}
Security: UserToken

## Security:

  - `UserToken` (unknown)
    http bearer JWT

## Path parameters:

  - `profileId` (integer, required)
    Personal or business profile ID.

  - `quoteId` (string, required)
    The quote ID (GUID format).

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. [Learn more](/guides/developer/headers/correlation-id).

## Response 200:

  - `200` (unknown)
    Returns a quote object.

## Response 200 fields (application/json):

  - `id` (string)
    ID of this quote (GUID format).
    Example: 11144c35-9fe8-4c32-b7fd-d05c2a7734bf

  - `sourceCurrency` (string)
    Source (sending) currency code.
    Example: GBP

  - `targetCurrency` (string)
    Target (receive) currency code.
    Example: USD

  - `sourceAmount` (number)
    Amount in source currency to send.
    Example: 100

  - `targetAmount` (number)
    Amount in target currency to be received by the recipient.
    Example: 129.24

  - `payOut` (string)
    Mechanism we use to deliver the transfer. Not usually of interest to the user.
    Example: BANK_TRANSFER

  - `preferredPayIn` (string)
    Preferred pay-in method.
    Example: BANK_TRANSFER

  - `rate` (number)
    Exchange rate value used for the conversion.
    Example: 1.30445

  - `createdTime` (string)
    Quote created timestamp.
    Example: 2019-04-05T13:18:58Z

  - `user` (integer)
    User ID who created the quote.
    Example: 55

  - `profile` (integer)
    Personal or business profile ID.
    Example: 101

  - `rateType` (string)
    Whether the rate is fixed or floating.
    Enum: "FIXED", "FLOATING"

  - `rateExpirationTime` (string)
    Time the locked rate will expire.
    Example: 2019-04-08T13:18:57Z

  - `guaranteedTargetAmountAllowed` (boolean)
    Whether guaranteed target amount is allowed.
    Example: true

  - `targetAmountAllowed` (boolean)
    Whether target amount is allowed.
    Example: true

  - `guaranteedTargetAmount` (boolean)
    Whether the target amount is guaranteed.
    Example: false

  - `providedAmountType` (string)
    Whether the quote was created as source or target.
    Enum: "SOURCE", "TARGET"

  - `pricingConfiguration` (object)
    Allows for pricing configurations to be overridden by partners on a transfer level.

  - `pricingConfiguration.fee` (object)

  - `pricingConfiguration.fee.type` (string)
    Identifies the type of fee that will be configured. Options include only `OVERRIDE`.
    Example: OVERRIDE

  - `pricingConfiguration.fee.variable` (number)
    The selected variable percentage (in decimal format) that should be used in the pricingConfiguration.
    Example: 0.011

  - `pricingConfiguration.fee.fixed` (number)
    The selected fixed fee (in source currency) that should be used in the pricingConfiguration.
    Example: 15.42

  - `paymentOptions` (array)
    List of the methods a user can pay for the transfer.

  - `paymentOptions.disabled` (boolean)
    Whether this option is enabled or not for this quote.
    Example: false

  - `paymentOptions.estimatedDelivery` (string)
    The estimated delivery time for this combination of payIn and payOut methods, assuming payIn is performed now.
    Example: 2019-04-08T12:30:00Z

  - `paymentOptions.formattedEstimatedDelivery` (string)
    A string to display to users for the estimated delivery date.
    Example: by Apr 8

  - `paymentOptions.estimatedDeliveryDelays` (array)
    Array of objects for delivery delays to display to users.

  - `paymentOptions.estimatedDeliveryDelays.reason` (string)
    Reason of the delivery delay.
    Example: sample reason

  - `paymentOptions.fee` (object)
    Object containing fee information.

  - `paymentOptions.fee.transferwise` (number)
    The fee to be paid by the sender based on the current state of the quote.
    Example: 3.04

  - `paymentOptions.fee.payIn` (number)
    The fee for this payment option, based on the product type of the payment option.
    Example: 0

  - `paymentOptions.fee.discount` (number)
    Any discounts that have been applied to this quote for the user.
    Example: 2.27

  - `paymentOptions.fee.partner` (number)
    If you have agreed a custom price, it will be displayed here.
    Example: 0

  - `paymentOptions.fee.total` (number)
    The total fees to be paid - use this figure when displaying fees on your app.
    Example: 0.77

  - `paymentOptions.price` (object)
    Object containing the price information.

  - `paymentOptions.price.priceSetId` (integer)
    ID of the price structure.
    Example: 238

  - `paymentOptions.price.total` (object)
    The total fees to be paid - use this figure when displaying fees on your app.

  - `paymentOptions.price.total.type` (string)
    Type of the pricing element.
    Example: TOTAL

  - `paymentOptions.price.total.label` (string)
    Short text describing the price structure.
    Example: Total fees

  - `paymentOptions.price.total.value` (object)
    Object containing value elements.

  - `paymentOptions.price.total.value.amount` (number)
    Amount to be paid.
    Example: 0.77

  - `paymentOptions.price.total.value.currency` (string)
    Currency of the amount to be paid.
    Example: GBP

  - `paymentOptions.price.total.value.label` (string)
    Text version of the price.
    Example: 0.77 GBP

  - `paymentOptions.price.total.explanation` (object)
    Object element giving more details about the price.

  - `paymentOptions.price.items` (array)
    Object containing the details of the different elements of the total price.

  - `paymentOptions.price.items.id` (string)
    ID of this item.

  - `paymentOptions.price.items.type` (string)
    Type of the pricing item. It could be `DISCOUNT` for example.
    Example: FEE

  - `paymentOptions.price.items.label` (string)
    Short text describing the pricing element.
    Example: fee

  - `paymentOptions.price.items.value` (object)
    Object containing value elements.

  - `paymentOptions.price.items.value.amount` (number)
    Amount associated to this pricing element. Can be negative for discounts.
    Example: 0

  - `paymentOptions.price.items.value.currency` (string)
    Currency of the pricing element.
    Example: GBP

  - `paymentOptions.price.items.value.label` (string)
    Text field containing the price and its currency.
    Example: 0 GBP

  - `paymentOptions.price.items.explanation` (object)
    Additional information on a price breakdown item.

  - `paymentOptions.price.items.explanation.plainText` (string)
    Text element giving more details about the item.

  - `paymentOptions.price.items.explanation.markdown` (string)
    Formatted textual information.

  - `paymentOptions.price.deferredFee` (object)
    Deferred fee information from a pricingConfiguration override.

  - `paymentOptions.price.deferredFee.amount` (number)
    The amount of fees that has been deferred by a pricingConfiguration override.
    Example: 14.79

  - `paymentOptions.price.deferredFee.currency` (string)
    The currency of the deferred fee amount.
    Example: BRL

  - `paymentOptions.price.calculatedOn` (object)

  - `paymentOptions.price.calculatedOn.unroundedAmountToConvert` (object)
    The amount, unrounded, that fees were calculated on and built up from.

  - `paymentOptions.price.calculatedOn.unroundedAmountToConvert.amount` (number)
    Example: 179.97342

  - `paymentOptions.price.calculatedOn.unroundedAmountToConvert.currency` (string)
    Example: BRL

  - `paymentOptions.sourceAmount` (number)
    sourceAmount when using this payment option.
    Example: 100

  - `paymentOptions.targetAmount` (number)
    targetAmount when using this payment option.
    Example: 129.24

  - `paymentOptions.sourceCurrency` (string)
    Source currency for this payment option.
    Example: GBP

  - `paymentOptions.targetCurrency` (string)
    Target currency for this payment option.
    Example: USD

  - `paymentOptions.payIn` (string)
    Type of pay in method for this payment option.
    Example: BANK_TRANSFER

  - `paymentOptions.payOut` (string)
    Type of pay out method for this payment option.
    Example: BANK_TRANSFER

  - `paymentOptions.allowedProfileTypes` (array)
    Array of the allowed types of profile to use this payment option.
    Example: ["PERSONAL","BUSINESS"]

  - `paymentOptions.payInProduct` (string)
    Pay-in product type.
    Example: CHEAP

  - `paymentOptions.feePercentage` (number)
    Fee percentage for this payment option.
    Example: 0.0092

  - `paymentOptions.disabledReason` (object)
    Object present if a payment option is disabled.

  - `paymentOptions.disabledReason.code` (string)
    Code to denote the reason a payment method is unavailable.

  - `paymentOptions.disabledReason.message` (string)
    User friendly message to display when a method is unavailable.

  - `status` (string)
    Current status of this quote.
    Enum: "PENDING", "ACCEPTED", "FUNDED", "EXPIRED"

  - `expirationTime` (string)
    The time the quote expires.
    Example: 2019-04-05T13:48:58Z

  - `notices` (array)
    Array of messages to display to the user. May be empty (`[]`) if there are no messages.

  - `notices.text` (string)
    The message to display.
    Example: You can have a maximum of 3 open transfers with a guaranteed rate. After that, they'll be transferred using the live rate. Complete or cancel your other transfers to regain the use of guaranteed rate.

  - `notices.link` (string | null)
    URL that provides more information to the message. May be `null` if there's no URL.
    Example: null

  - `notices.type` (string)
    Type of message. If it is `BLOCKED`, don't allow the quote to be used to create the transfer.
    Enum: "WARNING", "INFO", "BLOCKED"

## Response 200 headers (application/json):

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 429:

  - `429` (unknown)
    Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.

## Response 429 headers (application/json):

  - `Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 5

  - `X-Rate-Limited-By` (string)
    Identifies the rate limiter that triggered the 429 response.
    Example: wise-public-api

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

