{"templateId":"markdown","versions":[{"version":"v2026.04","label":"v2026.04","link":"/products/payments-direct-2/api-docs/developer-guides/fetch-a-quote-collection","default":true,"active":false,"folderId":"eb16255d"},{"version":"v2026.03","label":"v2026.03","link":"/products/payments-direct-2/v2026.03/api-docs/developer-guides/fetch-a-quote-collection","default":false,"active":true,"folderId":"eb16255d"},{"version":"v2025.11","label":"v2025.11","link":"/products/payments-direct-2/v2025.11/api-docs/developer-guides/fetch-a-quote-collection","default":false,"active":false,"folderId":"eb16255d"}],"sharedDataIds":{"sidebar":"sidebar-products/payments-direct-2/@v2025.11/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["tabs","tab","admonition"]},"type":"markdown"},"seo":{"title":"Fetch a quote collection","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"fetch-a-quote-collection","__idx":0},"children":["Fetch a quote collection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you can create a payment, you request a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["quote collection"]},": a set of priced quotes for a proposed transfer. Each quote locks in an exchange rate, fee breakdown, and validity window so you can review the terms before committing to a payment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide covers:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Creating a quote collection, quoting by source or destination amount."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Reading the response."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handling quote expiry."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Retrieving a quote collection or individual quote after creation."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For conceptual background, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/payments-direct-2/v2026.03/introduction/concepts/quotes"},"children":["Quotes and exchange rates"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-you-begin","__idx":1},"children":["Before you begin"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To follow this guide, you need:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Access to the ","Payments Direct"," API UAT environment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A valid OAuth2 ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["access token"]}," with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quote_collection:quote:create"]}," scope to create quote collections, and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quote_collection:quote:read"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quote:quote:read"]}," scopes to retrieve them. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/payments-direct-2/v2026.03/api-docs/developer-guides/request-an-access-token"},"children":["Request an access token"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The source and destination currencies and countries for the proposed payment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payinCategory"]}," that matches your funding model (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JIT_FUNDING"]},"). See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/payments-direct-2/v2026.03/introduction/concepts/funding-methods"},"children":["Funding methods"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payoutCategory"]}," of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BANK"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CRYPTO"]},"."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-create-a-quote-collection","__idx":2},"children":["Step 1: Create a quote collection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v2/quotes/quote-collection"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A quote collection request specifies the corridor, payout category, and amount you want to price. A quote collection typically contains a single quote."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"request-parameters","__idx":3},"children":["Request parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteAmount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The amount to quote."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteAmountType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Whether ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteAmount"]}," is the send amount (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SOURCE_AMOUNT"]},") or the receive amount (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DESTINATION_AMOUNT"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceCurrency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The currency you are sending (ISO 4217, 3–5 characters)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationCurrency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The currency the beneficiary receives (ISO 4217, 3–5 characters)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payinCategory"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your funding model: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JIT_FUNDING"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payoutCategory"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The payout type: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BANK"]}," for bank account payouts, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CRYPTO"]}," for digital asset payouts."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceCountry"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The sender country (ISO 3166-1 alpha-2)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationCountry"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["For a fiat payout"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The beneficiary country (ISO 3166-1 alpha-2). Omitting it from a fiat payout request returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["USR_017"]},". Ignored for a stablecoin payout."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationBlockchainNetwork"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["For a stablecoin payout"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The blockchain network for the payout. Omitting it from a stablecoin payout request returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["USR_017"]},"."]}]}]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Quote by source amount","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SOURCE_AMOUNT"]}," when you control how much you want to send. The API calculates how much the beneficiary receives after applying the exchange rate and fees."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In this example, the sender wants to send ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["10,000 USD"]}," to a beneficiary in Mexico who receives MXN."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -i -X POST \\\n  https://api.test.ripple.com/v2/quotes/quote-collection \\\n  -H \"Authorization: Bearer <YOUR_JWT_HERE>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"quoteAmount\": 10000.00,\n    \"quoteAmountType\": \"SOURCE_AMOUNT\",\n    \"sourceCurrency\": \"USD\",\n    \"destinationCurrency\": \"MXN\",\n    \"sourceCountry\": \"US\",\n    \"destinationCountry\": \"MX\",\n    \"payinCategory\": \"PRE_FUNDING\",\n    \"payoutCategory\": \"BANK\"\n  }'\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Quote by destination amount","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DESTINATION_AMOUNT"]}," when the beneficiary must receive a precise amount, for example when paying a foreign-currency invoice. The API calculates how much you need to send to cover the exchange and fees."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In this example, the beneficiary must receive exactly ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["200,000 MXN"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -i -X POST \\\n  https://api.test.ripple.com/v2/quotes/quote-collection \\\n  -H \"Authorization: Bearer <YOUR_JWT_HERE>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"quoteAmount\": 200000.00,\n    \"quoteAmountType\": \"DESTINATION_AMOUNT\",\n    \"sourceCurrency\": \"USD\",\n    \"destinationCurrency\": \"MXN\",\n    \"sourceCountry\": \"US\",\n    \"destinationCountry\": \"MX\",\n    \"payinCategory\": \"PRE_FUNDING\",\n    \"payoutCategory\": \"BANK\"\n  }'\n","lang":"bash"},"children":[]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-review-the-response","__idx":4},"children":["Step 2: Review the response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A successful request returns HTTP ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["201"]}," with a quote collection. The top-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteCollectionId"]}," identifies the collection; the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quotes"]}," array contains the returned quote."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"quoteCollectionId\": \"11111111-aaaa-2222-bbbb-222222222222\",\n  \"quotes\": [\n    {\n      \"quoteId\": \"7ea3399c-1234-5678-8d8f-d320ea406630\",\n      \"quoteStatus\": \"ACTIVE\",\n      \"quoteAmountType\": \"SOURCE_AMOUNT\",\n      \"sourceAmount\": 10000.00,\n      \"destinationAmount\": 204533.30,\n      \"sourceCurrency\": \"USD\",\n      \"destinationCurrency\": \"MXN\",\n      \"destinationCountry\": \"MX\",\n      \"payoutCategory\": \"BANK\",\n      \"payinCategory\": \"PRE_FUNDING\",\n      \"adjustedExchangeRate\": {\n        \"adjustedRate\": 20.4136\n      },\n      \"fees\": [\n        {\n          \"totalFee\": 14.00,\n          \"feeCurrency\": \"USD\",\n          \"feeBreakdown\": [\n            {\n              \"calculatedFee\": 2.00,\n              \"feeName\": \"Fixed service fee\",\n              \"feeDescription\": \"Fixed service fee for this transaction.\"\n            },\n            {\n              \"calculatedFee\": 12.00,\n              \"feeName\": \"Variable service fee\",\n              \"feeDescription\": \"Variable service fee for this transaction.\"\n            }\n          ]\n        }\n      ],\n      \"createdAt\": \"2025-11-13T22:44:34.711Z\",\n      \"expiresAt\": \"2025-11-13T22:59:34.711Z\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"key-fields","__idx":5},"children":["Key fields"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteCollectionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ID of this collection. Use it to retrieve the collection later with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v2/quotes/quote-collection/{quote-collection-id}"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ID of an individual quote. Use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteId"]}," to create a payment."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteStatus"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTIVE"]}," means the quote can be used. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXPIRED"]}," means the validity window has passed and a new quote collection is required."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payoutCategory"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The payout type for this quote (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BANK"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CRYPTO"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentRail"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When present, the payment rail used for this quote (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SPEI"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACH"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["adjustedExchangeRate.adjustedRate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The FX rate Ripple will apply. This rate is locked for the duration of the quote's validity window."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fees[].totalFee"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Total service fee for the transaction."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["taxes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Applicable consumption taxes on Ripple's fees (VAT, GST, and so on). Absent when no taxes apply."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["createdAt"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The quote's validity window. By default, quotes are valid for 15 minutes."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"quoteId and paymentId"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteId"]}," becomes the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentId"]}," when you create the payment. Store it before moving to the next step."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-handle-quote-expiry","__idx":6},"children":["Step 3: Handle quote expiry"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quotes are valid for a limited time (15 minutes by default). Before creating a payment, check that ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteStatus"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTIVE"]},"."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteStatus"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTIVE"]},", the quote can be used to create a payment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteStatus"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXPIRED"]},", the quote can no longer be used. Request a new quote collection, which will reflect the current exchange rate and fees."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," to implement client-side refresh logic, for example, prompting a user to confirm before the quote lapses, or automatically re-quoting when the remaining time falls below a threshold."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"remainingSeconds = expiresAt - now()\nif remainingSeconds <= 0:\n    request a new quote collection\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Re-quoting generates a new ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteCollectionId"]}," and new ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteId"]}," values."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4-retrieve-a-quote-collection","__idx":7},"children":["Step 4: Retrieve a quote collection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v2/quotes/quote-collection/{quote-collection-id}"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this endpoint to retrieve a quote collection you created earlier, for example in an async flow where you stored the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteCollectionId"]}," and are checking quote status before initiating a payment."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -i -X GET \\\n  https://api.test.ripple.com/v2/quotes/quote-collection/11111111-aaaa-2222-bbbb-222222222222 \\\n  -H \"Authorization: Bearer <YOUR_JWT_HERE>\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response schema is identical to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," response. Check the quote's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteStatus"]}," before proceeding; the quote may have expired since it was created."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-5-retrieve-an-individual-quote","__idx":8},"children":["Step 5: Retrieve an individual quote"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v2/quotes/{quote-id}"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this endpoint to retrieve a specific quote by ID."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -i -X GET \\\n  https://api.test.ripple.com/v2/quotes/7ea3399c-1234-5678-8d8f-d320ea406630 \\\n  -H \"Authorization: Bearer <YOUR_JWT_HERE>\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response contains the same fields as a single entry from the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quotes"]}," array, without the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteCollectionId"]}," wrapper."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-handling","__idx":9},"children":["Error handling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quote errors return a structured response with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," and an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["errors"]}," array. Each error includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["code"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["title"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["timestamp"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Error codes use three prefixes:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Prefix"},"children":["Prefix"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Category"},"children":["Category"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Common causes"},"children":["Common causes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["USR_"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Validation error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Missing required fields, invalid currency codes, amounts outside the allowed range, or invalid ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payinCategory"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payoutCategory"]}," values."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CFG_"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Configuration error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unsupported corridor or missing tenant configuration."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SYS_"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["System error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Internal or upstream FX pricing failure. Retry the request; contact support if the error persists."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"common-validation-errors","__idx":10},"children":["Common validation errors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Missing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payoutCategory"]}]},": The v2 endpoint requires ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payoutCategory"]},". Omitting it returns a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["USR_"]}," validation error."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Invalid currency or country codes"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceCurrency"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationCurrency"]}," must be 3–5 alphabetic characters. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceCountry"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationCountry"]}," must be ISO 3166-1 alpha-2 codes (exactly 2 characters)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deprecated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payinCategory"]}," values"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FUNDED"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["T_PLUS_ONE"]}," are still accepted on the v2 endpoint but are deprecated. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]}," in place of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FUNDED"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]}," in place of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["T_PLUS_ONE"]},". See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/payments-direct-2/v2026.03/introduction/concepts/funding-methods"},"children":["Funding methods"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unsupported corridor"]},": If the currency pair is not configured for your tenant, the API returns a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CFG_"]}," error. Contact your Ripple representative if the error persists."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"whats-next","__idx":11},"children":["What's next"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTIVE"]}," quote and have selected a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteId"]},", you are ready to create a payment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/payments-direct-2/v2026.03/api-docs/developer-guides/create-a-payment"},"children":["Create a payment"]}," for a complete walkthrough of the payment creation step, including how to pass the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteId"]}," alongside beneficiary identity and financial instrument IDs."]}]},"headings":[{"value":"Fetch a quote collection","id":"fetch-a-quote-collection","depth":1},{"value":"Before you begin","id":"before-you-begin","depth":2},{"value":"Step 1: Create a quote collection","id":"step-1-create-a-quote-collection","depth":2},{"value":"Request parameters","id":"request-parameters","depth":3},{"value":"Step 2: Review the response","id":"step-2-review-the-response","depth":2},{"value":"Key fields","id":"key-fields","depth":3},{"value":"Step 3: Handle quote expiry","id":"step-3-handle-quote-expiry","depth":2},{"value":"Step 4: Retrieve a quote collection","id":"step-4-retrieve-a-quote-collection","depth":2},{"value":"Step 5: Retrieve an individual quote","id":"step-5-retrieve-an-individual-quote","depth":2},{"value":"Error handling","id":"error-handling","depth":2},{"value":"Common validation errors","id":"common-validation-errors","depth":3},{"value":"What's next","id":"whats-next","depth":2}],"frontmatter":{"title":"Fetch a quote collection","toc":{"enable":true,"maxDepth":2},"seo":{"title":"Fetch a quote collection"}},"lastModified":"2026-10-19T16:54:08.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/payments-direct-2/v2026.03/api-docs/developer-guides/fetch-a-quote-collection","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}