{"templateId":"../../../@theme/Templates/Wide.tsx","sharedDataIds":{"sidebar":"sidebar-guides/developer/errors/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["sub-header","admonition","error-code-heading","section","panel-left","panel-right"]},"type":"markdown"},"seo":{"title":"Quote errors","siteUrl":"https://docs.wise.com","projectTitle":"Wise Platform","description":"Handle validation, route, access, and lifecycle errors for Wise quotes.","keywords":["quote errors","currency route","invalid amount","quote expired"]},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"quote-errors","__idx":0},"children":["Quote errors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"span","attributes":{"class":"sub-header"},"children":["Handle quote validation, access, route, and state errors."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quote errors depend on the operation used by your integration. Match the error to the endpoint first, then use the code, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]},", and structured ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["arguments"]}," to decide what to correct."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Process the complete response"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A response can contain more than one error. Process every item in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["errors"]}," array instead of stopping after the first code. Examples labelled \"Response excerpt\" show only the entries for the named code from a documented response."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On this page:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#create-an-unauthenticated-quote"},"children":["Create an unauthenticated quote"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#create-an-authenticated-quote"},"children":["Create an authenticated quote"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#retrieve-a-quote"},"children":["Retrieve a quote"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#update-a-quote"},"children":["Update a quote"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#check-a-successful-quote-response"},"children":["Check a successful quote response"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#retry-quote-operations"},"children":["Retry quote operations"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/developer/errors#choose-a-recovery-action"},"children":["shared handling guidance"]}," for choosing an action, displaying messages, and retrying safely."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"create-an-unauthenticated-quote","__idx":1},"children":["Create an unauthenticated quote"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoint:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /quotes"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/quote/quotecreateunauthenticated"},"children":["related API Reference operation"]}," for the current request and response schema."]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"CurrencyCode","anchor":"create-public-currencycode"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A currency field does not contain a valid ISO 4217 alpha-3 code. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the affected field."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the currency field and provide a valid ISO 4217 alpha-3 code. A valid currency code does not by itself establish that the currency route is supported."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting the currency."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"CurrencyCode\",\n      \"message\": \"That wasn't a valid ISO-4217 currency code (like GBP, USD or EUR).\",\n      \"path\": \"targetCurrency\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"CurrencyDeprecated","anchor":"create-public-currencydeprecated"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A currency specified in the request has been deprecated. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the affected field."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Replace the deprecated currency with a currently supported currency."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after changing the currency."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"CurrencyDeprecated\",\n      \"message\": \"Currency has been deprecated.\",\n      \"path\": \"targetCurrency\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.greaterThanZero","anchor":"create-public-error-greaterthanzero"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An amount must be greater than zero. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify whether the source or target amount failed validation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Validate amounts greater than zero before sending the request. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify a rejected amount. If the customer controls it, let them correct it; also investigate why local validation did not catch it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting the amount."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response excerpt"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.greaterThanZero\",\n      \"message\": \"Please type in a number that's larger than 0.\",\n      \"path\": \"sourceAmount\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.amount.tooLarge","anchor":"create-public-error-quote-amount-toolarge"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The amount exceeds the maximum accepted by the quote operation. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the amount and check the applicable limit."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reduce the amount to the accepted range for the selected currency."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after reducing the amount."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.amount.tooLarge\",\n      \"message\": \"Amount is too large, it should not exceed 1 trillion in any currency\",\n      \"path\": \"sourceAmount\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.amount.tooSmall","anchor":"create-public-error-quote-amount-toosmall"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The amount is below the minimum accepted for the selected currency. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the affected amount."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Increase the amount to the accepted range for the selected currency."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after increasing the amount."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response excerpt"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.amount.tooSmall\",\n      \"message\": \"Amount is too small for specified currency\",\n      \"path\": \"targetAmount\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.mustBeAuthenticated","anchor":"create-public-error-quote-mustbeauthenticated"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request does not satisfy the authentication or profile-access requirements for the quote operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["401"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Keep token type and profile mappings correct before sending requests. If this error occurs, verify that mapping; stop safely, show an appropriate customer message, and record the issue for investigation if the cause is unexpected or unresolved. This response can occur when a valid token cannot access the requested profile. Renew the token only if the response separately identifies it as invalid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting authentication."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.mustBeAuthenticated\",\n      \"message\": \"You need to be authenticated to do that.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.targetAmount.notSupported.volatility.partner","anchor":"create-public-error-quote-targetamount-notsupported-volatility-partner"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rate volatility prevents Wise from creating a quote with a fixed target amount for this request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceAmount"]}," instead so Wise can calculate the target amount at the available rate."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after changing the amount side."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.targetAmount.notSupported.volatility.partner\",\n      \"message\": \"Rates are volatile so we can't guarantee how much the recipient gets. Specify a source amount instead.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.recipient.country.notFound","anchor":"create-public-error-recipient-country-notfound"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise cannot resolve a country specified in the request. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the affected country field."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the country field, then provide a supported value. The example identifies ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payInCountry"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting the country."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.recipient.country.notFound\",\n      \"message\": \"Cannot find specified recipient country.\",\n      \"path\": \"payInCountry\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"create-public-unknown","level":3,"__idx":2},"children":["Malformed request "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["No error code is returned in this response."]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise could not read or convert the request, and the response does not expose a stable operation-specific code."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Compare the request with the operation schema and use a safe fallback when no stable identifier is returned."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the request. Treat service failures separately."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"detail\": \"Failed to read request\",\n  \"instance\": \"/public/v3/quotes/\",\n  \"properties\": null,\n  \"status\": 400,\n  \"title\": \"Bad Request\",\n  \"type\": null\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"create-an-authenticated-quote","__idx":3},"children":["Create an authenticated quote"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoint:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /profiles/{profileId}/quotes"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/quote/quotecreate"},"children":["related API Reference operation"]}," for the current request and response schema."]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"CurrencyCode","anchor":"create-profile-currencycode"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A currency field does not contain a valid ISO 4217 alpha-3 code. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the affected field."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the currency field and provide a valid ISO 4217 alpha-3 code. A valid currency code does not by itself establish that the currency route is supported."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting the currency."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"CurrencyCode\",\n      \"message\": \"That wasn't a valid ISO-4217 currency code (like GBP, USD or EUR).\",\n      \"path\": \"targetCurrency\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"CurrencyDeprecated","anchor":"create-profile-currencydeprecated"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A currency specified in the request has been deprecated. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the affected field."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Replace the deprecated currency with a currently supported currency."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after changing the currency."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"CurrencyDeprecated\",\n      \"message\": \"Currency has been deprecated.\",\n      \"path\": \"targetCurrency\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.account.notFound","anchor":"create-profile-error-account-notfound"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise cannot find the recipient account identified by the request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetAccount"]},", the environment, and the profile/token context. If the customer selects the recipient, let them choose or add another. Use your own customer message without exposing the recipient ID."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry with an account available to the profile."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        111111111\n      ],\n      \"code\": \"error.account.notFound\",\n      \"message\": \"We couldn't find an account with that ID (111,111,111).\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.account.notUsable","anchor":"create-profile-error-account-notusable"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The recipient account cannot receive this payment. Documented cases include an unusable account and changes to the recipient's receiving details."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check the recipient and route context. If the response identifies changed receiving details, ask the recipient for updated account details. If it gives no actionable reason, investigate with Wise before choosing a recovery action."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not retry with the same unusable account."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        111111111\n      ],\n      \"code\": \"error.account.notUsable\",\n      \"message\": \"We cannot currently accept payments to this recipient.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.contact.notFound","anchor":"create-profile-error-contact-notfound"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise cannot find the referenced contact."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The current quote schema does not document a contact-ID field. If you receive this identifier, record the request and response and ask Wise to confirm the applicable contact flow. Do not substitute a contact UUID for the integer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetAccount"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not retry automatically; resolve the applicable request contract first."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        \"21ecd0bc-da9e-4f95-b378-2e9a05167104\"\n      ],\n      \"code\": \"error.contact.notFound\",\n      \"message\": \"We couldn't find a contact with that ID (21ecd0bc-da9e-4f95-b378-2e9a05167104).\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.contact.notUsable","anchor":"create-profile-error-contact-notusable"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise cannot process the referenced contact for this request. The code alone does not identify the underlying reason."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The current quote schema does not document a contact-ID field. If you receive this identifier, record the request and response and ask Wise to confirm the applicable contact flow. Do not substitute a contact UUID for the integer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetAccount"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not retry automatically; resolve the applicable request contract first."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        \"21ecd0bc-da9e-4f95-b378-2e9a05167104\"\n      ],\n      \"code\": \"error.contact.notUsable\",\n      \"message\": \"We couldn't process that contact.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.greaterThanZero","anchor":"create-profile-error-greaterthanzero"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An amount must be greater than zero. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify whether the source or target amount failed validation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Validate amounts greater than zero before sending the request. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify a rejected amount. If the customer controls it, let them correct it; also investigate why local validation did not catch it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting the amount."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response excerpt"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.greaterThanZero\",\n      \"message\": \"Please type in a number that's larger than 0.\",\n      \"path\": \"targetAmount\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.amount.onlySingle","anchor":"create-profile-error-quote-amount-onlysingle"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request specifies both ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceAmount"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetAmount"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send exactly one of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceAmount"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetAmount"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after removing one amount."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"code\": \"error.quote.amount.onlySingle\",\n      \"message\": \"Please only specify a source or target amount.\",\n      \"path\": \"sourceAmount\",\n      \"arguments\": []\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.amount.tooLarge","anchor":"create-profile-error-quote-amount-toolarge"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The amount exceeds the maximum accepted by the quote operation. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the amount and check the applicable limit."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reduce the amount to the accepted range for the selected currency."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after reducing the amount."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.amount.tooLarge\",\n      \"message\": \"Amount is too large, it should not exceed 1 trillion in any currency\",\n      \"path\": \"sourceAmount\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.amount.tooSmall","anchor":"create-profile-error-quote-amount-toosmall"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The amount is below the minimum accepted for the selected currency. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," to identify the affected amount."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Increase the amount to the accepted range for the selected currency."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after increasing the amount."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response excerpt"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.amount.tooSmall\",\n      \"message\": \"Amount is too small for specified currency\",\n      \"path\": \"targetAmount\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.mustBeAuthenticated","anchor":"create-profile-error-quote-mustbeauthenticated"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request does not satisfy the authentication or profile-access requirements for the quote operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["401"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Keep token type and profile mappings correct before sending requests. If this error occurs, verify that mapping; stop safely, show an appropriate customer message, and record the issue for investigation if the cause is unexpected or unresolved. This response can occur when a valid token cannot access the requested profile. Renew the token only if the response separately identifies it as invalid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting authentication."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.mustBeAuthenticated\",\n      \"message\": \"You need to be authenticated to do that.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.pricing.configuration.invalid","anchor":"create-profile-error-quote-pricing-configuration-invalid"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The pricing configuration for the quote is invalid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Verify the quote request and pricing configuration available to the integration. Contact Wise if the request is valid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the configuration or receiving confirmation that it is available."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.pricing.configuration.invalid\",\n      \"message\": \"Invalid pricing configuration\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.targetAmount.notSupported.volatility.partner","anchor":"create-profile-error-quote-targetamount-notsupported-volatility-partner"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rate volatility prevents Wise from creating a quote with a fixed target amount for this request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceAmount"]}," instead so Wise can calculate the target amount at the available rate."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after changing the amount side."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.targetAmount.notSupported.volatility.partner\",\n      \"message\": \"Rates are volatile so we can't guarantee how much the recipient gets. Specify a source amount instead.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.route.not.supported","anchor":"create-profile-error-route-not-supported"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The requested currency route is not currently supported for this request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For an unexpected route rejection, stop and record the issue for Wise API Support. Prevent requests for routes already known to be unavailable. A customer choosing another route starts a new request; do not automatically substitute a route."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not automatically retry the same route."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        {\n          \"source\": \"AUD\",\n          \"target\": \"INR\"\n        }\n      ],\n      \"code\": \"error.route.not.supported\",\n      \"message\": \"Sorry, you can't send between these currencies right now.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"create-profile-unknown","level":3,"__idx":4},"children":["Malformed request "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["No error code is returned in this response."]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise could not read or convert the request, and the response does not expose a stable operation-specific code."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Compare the request with the operation schema and use a safe fallback when no stable identifier is returned."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the request. Treat service failures separately."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"detail\": \"Failed to read request\",\n  \"instance\": \"/public/v3/profiles/111111111/quotes\",\n  \"properties\": null,\n  \"status\": 400,\n  \"title\": \"Bad Request\",\n  \"type\": null\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"retrieve-a-quote","__idx":5},"children":["Retrieve a quote"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoint:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /profiles/{profileId}/quotes/{quoteId}"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/quote/quoteget"},"children":["related API Reference operation"]}," for the current request and response schema."]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.not.found","anchor":"get-profile-error-quote-not-found"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise cannot find the quote identified by the request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Verify the quote ID, profile, environment, and access context."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the lookup context."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        \"21ecd0bc-da9e-4f95-b378-2e9a05167104\"\n      ],\n      \"code\": \"error.quote.not.found\",\n      \"message\": \"We couldn't find a quote with that ID (21ecd0bc-da9e-4f95-b378-2e9a05167104)\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.mustBeAuthenticated","anchor":"get-profile-error-quote-mustbeauthenticated"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request does not satisfy the authentication or profile-access requirements for the quote operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["401"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Keep token type and profile mappings correct before sending requests. If this error occurs, verify that mapping; stop safely, show an appropriate customer message, and record the issue for investigation if the cause is unexpected or unresolved. This response can occur when a valid token cannot access the requested profile. Renew the token only if the response separately identifies it as invalid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry after correcting authentication."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"error.quote.mustBeAuthenticated\",\n      \"message\": \"You need to be authenticated to do that.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.status.unexpected","anchor":"get-profile-error-quote-status-unexpected"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The quote's current state does not permit the requested operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retrieve the latest quote and continue only from a state that permits the operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only when the current quote state permits it."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        {\n          \"current\": null,\n          \"expected\": \"NEW\"\n        }\n      ],\n      \"code\": \"error.quote.status.unexpected\",\n      \"message\": \"Current quote status does not allow this operation\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"security.error","anchor":"get-profile-security-error"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request does not meet the access requirements for the quote operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Verify the token, profile, environment, and quote ownership. Show a generic access message."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the access context."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"security.error\",\n      \"message\": \"We couldn't authorise your request.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"unexpected.error","anchor":"get-profile-unexpected-error"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An unexpected technical failure prevented Wise from completing the quote operation. The code does not identify a specific cause."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["500"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Log a redacted response signature and reconcile the quote state before retrying."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not automatically retry an unexplained failure. Retry only if a transient cause and safe replay are confirmed, using bounded backoff."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"unexpected.error\",\n      \"message\": \"Sorry, there was a technical problem. Please try again.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"get-profile-unknown","level":3,"__idx":6},"children":["Invalid quote identifier "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["No error code is returned in this response."]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise could not read or convert the request, and the response does not expose a stable operation-specific code."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Compare the request with the operation schema and use a safe fallback when no stable identifier is returned."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the request. Treat service failures separately."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"detail\": \"Failed to convert 'quoteId' with value: 'None'\",\n  \"instance\": \"/public/v3/profiles/1111111/quotes/None\",\n  \"properties\": null,\n  \"status\": 400,\n  \"title\": \"Bad Request\",\n  \"type\": null\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"update-a-quote","__idx":7},"children":["Update a quote"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoint:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PATCH /profiles/{profileId}/quotes/{quoteId}"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/quote/quoteupdate"},"children":["related API Reference operation"]}," for the current request and response schema."]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.expired","anchor":"update-profile-error-quote-expired"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The quote has expired and can no longer be used for this operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a new quote and continue with the new quote ID."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not retry with the expired quote."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        {\n          \"current\": \"EXPIRED\",\n          \"expected\": \"NEW\"\n        }\n      ],\n      \"code\": \"error.quote.expired\",\n      \"message\": \"Sorry, your quote has expired. Please get a new one.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.quote.not.found","anchor":"update-profile-error-quote-not-found"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise cannot find the quote identified by the request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Verify the quote ID, profile, environment, and access context."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the lookup context."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        \"21ecd0bc-da9e-4f95-b378-2e9a05167104\"\n      ],\n      \"code\": \"error.quote.not.found\",\n      \"message\": \"We couldn't find a quote with that ID (21ecd0bc-da9e-4f95-b378-2e9a05167104)\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.account.notFound","anchor":"update-profile-error-account-notfound"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise cannot find the recipient account identified by the request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetAccount"]},", the environment, and the profile/token context. If the customer selects the recipient, let them choose or add another. Use your own customer message without exposing the recipient ID."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry with an account available to the profile."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        1111\n      ],\n      \"code\": \"error.account.notFound\",\n      \"message\": \"We couldn't find an account with that ID (1.111).\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"error.route.not.supported","anchor":"update-profile-error-route-not-supported"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The requested currency route is not currently supported for this request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For an unexpected route rejection, stop and record the issue for Wise API Support. Prevent requests for routes already known to be unavailable. A customer choosing another route starts a new request; do not automatically substitute a route."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not automatically retry the same route."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [\n        {\n          \"source\": \"EUR\",\n          \"target\": \"GBP\"\n        }\n      ],\n      \"code\": \"error.route.not.supported\",\n      \"message\": \"Sorry, you can't send between these currencies right now.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"ErrorCodeHeading","attributes":{"code":"unexpected.error","anchor":"update-profile-unexpected-error"},"children":[]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An unexpected technical failure prevented Wise from completing the quote operation. The code does not identify a specific cause."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["500"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Log a redacted response signature and reconcile the quote state before retrying."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not automatically retry an unexplained failure. Retry only if a transient cause and safe replay are confirmed, using bounded backoff."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errors\": [\n    {\n      \"arguments\": [],\n      \"code\": \"unexpected.error\",\n      \"message\": \"Sorry, there was a technical problem. Please try again.\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"update-profile-unknown","level":3,"__idx":8},"children":["Malformed request "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["No error code is returned in this response."]},{"$$mdtype":"Tag","name":"Section","attributes":{},"children":[{"$$mdtype":"Tag","name":"PanelLeft","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wise could not read or convert the request, and the response does not expose a stable operation-specific code."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP status:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What to do"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Compare the request with the operation schema and use a safe fallback when no stable identifier is returned."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry conditions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retry only after correcting the request. Treat service failures separately."]}]},{"$$mdtype":"Tag","name":"PanelRight","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example error response"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"detail\": \"Failed to read request\",\n  \"instance\": \"/public/v3/profiles/1111/quotes/21ecd0bc-da9e-4f95-b378-2e9a05167104\",\n  \"properties\": null,\n  \"status\": 400,\n  \"title\": \"Bad Request\",\n  \"type\": null\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"check-a-successful-quote-response","__idx":9},"children":["Check a successful quote response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["HTTP ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]}," means the quote request succeeded. Before using it, find the payment option matching the quote's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payOut"]}," and your settlement model's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payIn"]},"."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check that option's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["disabled"]}," flag and, if disabled, its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["disabledReason.code"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["disabledReason.message"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Do not treat one disabled option as evidence that every option is unavailable."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Show an actionable amount-limit message when suitable for the customer. Map technical or partner-funding conditions to your own message; do not expose a correspondent's balance shortage as the customer's balance problem."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FLOATING"]}," rate is not itself an API error. Follow the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/product/send-money/quotes/authenticated-quote"},"children":["authenticated quote guide"]}," for rate guarantees and customer communication. See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/quote/quotecreate"},"children":["quote response reference"]}," for payment-option fields."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"retry-quote-operations","__idx":10},"children":["Retry quote operations"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Correct validation, amount, recipient, and route errors before retrying."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Renew a token only for an invalid-token response. Check token type and profile access for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error.quote.mustBeAuthenticated"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Resolve access or ownership before retrying access errors."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a new quote instead of retrying an expired quote."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Follow ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Retry-After"]}," for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["429"]}," responses."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Retry only confirmed transient failures with bounded exponential backoff and jitter, where replay is safe. Stop and investigate unexplained failures or exhausted recovery."]}]}]},"headings":[{"value":"Quote errors","id":"quote-errors","depth":1},{"value":"Create an unauthenticated quote","id":"create-an-unauthenticated-quote","depth":2},{"value":"Malformed request","id":"create-public-unknown","depth":3},{"value":"Create an authenticated quote","id":"create-an-authenticated-quote","depth":2},{"value":"Malformed request","id":"create-profile-unknown","depth":3},{"value":"Retrieve a quote","id":"retrieve-a-quote","depth":2},{"value":"Invalid quote identifier","id":"get-profile-unknown","depth":3},{"value":"Update a quote","id":"update-a-quote","depth":2},{"value":"Malformed request","id":"update-profile-unknown","depth":3},{"value":"Check a successful quote response","id":"check-a-successful-quote-response","depth":2},{"value":"Retry quote operations","id":"retry-quote-operations","depth":2}],"frontmatter":{"template":"../../../@theme/Templates/Wide.tsx","seo":{"title":"Quote errors","description":"Handle validation, route, access, and lifecycle errors for Wise quotes.","keywords":["quote errors","currency route","invalid amount","quote expired"]},"markdown":{"toc":{"hide":true}}},"lastModified":"2026-09-22T05:59:17.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/developer/errors/quotes","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}