{
    "openapi": "3.0.0",
    "info": {
        "title": "BTC Direct API V2",
        "description": "<p><strong><em>API for requesting user details and buying/selling cryptocurrency on BTC Direct's platform.</em></strong></p> <p>Click on one of the sections below to read more about that topic:</p> <details> <summary>Client authentication &#9660;</summary> <div> <p>In order to work with our API, you need to request a JWT token using your login details, via the <code>/api/v1/authenticate</code> endpoint. This will return an authorization token, as well as a refresh token. When you have retrieved your token, you need to add it as a header to your requests:</p> <p><code>Authorization: Bearer {token}</code></p> <p>Tokens are valid for 1 hour. If your token has expired (or is about to expire), you can request a new one by sending the refresh token to the following endpoint: <code>/api/v1/refresh</code>. This will return a new authorization token which you can use in your requests. The refresh token will remain valid for 1 month, but that time will be reset as soon as you use it to request a new token.</p> </div> </details> <details> <summary>User authentication &#9660;</summary> <div> <p>There are two options of authenticating a user to be able to use endpoint which require a logged in user. You can either request a User-Authorization by letting users send their e-mail address and password to the <code>/api/v1/user/login</code> endpoint (more details below), or pass a unique wallet identifier header, such as an XPUB (more on this below as well).</p> </div> <div> <p>In order to work with endpoints which require a logged in user, you need to let the user login to their account via the <code>/api/v1/user/login</code> endpoint. You will be given another authorization (and refresh) token, which you also need to add as a header to your requests:</p> <p><code>User-Authorization: Bearer {token}</code></p> <p>This token is also valid for 1 hour. Similar to the base authorization token, this token can be refreshed by sending the refresh token to <code>/api/v1/refresh</code>.</p> <p>If you want to enable the user to log out of our API, which in fact will render the <i>user</i> authorization token invalid, you can do so by calling the <code>/api/v1/user/logout</code> endpoint.</p> </div> <div> <p>You can also send a user identifier header along with your request to authenticate a user. This needs to be a unique identifier, it could for example be a hashed XPUB key.</p> <p>The header can be sent as such:</p> <p><code>User-Identifier: {userIdentifier}</code></p> <p>You can use this identifier in all requests requiring a logged-in user, but in order to be able to confirm quotes and do other user-related operations (such as requesting the users' info), you will need to link this identifier to an existing (or new) user account.</p> <p>In order to link a user identifier to a user account, you can call the <code>/api/v1/user/register-identifier</code> endpoint. This will either return a URL to the registration flow, where the user can sign up or log in to their account, or a URL to their account dashboard if the user identifier is already known.</p> </div> </details> <details> <summary>Quote system security &#9660;</summary> <div> <p>To place an order, first a quote needs to be requested from our API using one of the <code>quote</code> endpoints; there's one for selling and buying crypto currencies. An offer will be returned containing what the user would receive for the given amount and (among other things) how long the quote is valid, along with an encrypted string containing this quote plus some additional information intended to be used by our API. See for more information the quote endpoints below.</p> <p>Note: the <code>quote</code> string in the example is a lot shorter than the actual string, but has been abbreviated for readability.</p> <p>If the user agrees to the price and wants to actually initiate the trade, you will need to send this quote string back to our API, to one of the <code>confirm</code> endpoints, depending on whether the user wants to buy or sell.</p> <p>The API then validates this quote, whether it has been tampered with or not, if it is not expired, if the quote belongs to the wallet address provided, and if the quote belongs to the API client and logged in user.<br/>If all of these variables are valid, the quote is accepted and the trade is made.</p> <p>The quote is actually a <a href='https://tools.ietf.org/html/rfc7516' target='_blank'>JWE token</a>, encrypted using the strongest encryption available, ensuring integrity, authenticity and confidentiality. It is virtually tamper-proof, in fact, even if it would be decrypted (which is impossible without the secret key), modified and re-encrypted, our systems perform additional checks to further validate the quote.</p> <p>In short, it is impossible to alter the quote in order to 'trick' our API.</p> </div> </details> <details> <summary>Rate limits &#9660;</summary> <div> <h3>Why do we have rate limits?</h3> <p>We have implemented rate limits for several reasons, including but not limited to:</p> <ul> <li>Preventing abuse of the API.</li> <li>Ensuring that no single party degrades the API performance for other users.</li> </ul> <h3>What happens when the limit is exceeded?</h3> <p>If you exceed the rate limit, you will receive an error response with status code <code>429</code> and error code <code>920</code>.</p> <h3>How can I avoid exceeding the limit?</h3> <p>If you are concerned about approaching the rate limit, please contact your integration manager for assistance.</p> </div> </details>",
        "version": "2"
    },
    "paths": {
        "/api/v2/buy/checkout": {
            "post": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to create a checkout url for checkout.",
                "operationId": "post_app_v2_buy_checkout_checkout",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CheckoutRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER300",
                                                "ER301",
                                                "ER303",
                                                "ER304",
                                                "ER305",
                                                "ER306",
                                                "ER307",
                                                "ER308",
                                                "ER309",
                                                "ER310",
                                                "ER311",
                                                "ER312",
                                                "ER313",
                                                "ER314",
                                                "ER315",
                                                "ER316",
                                                "ER317",
                                                "ER318",
                                                "ER319",
                                                "ER320",
                                                "ER321",
                                                "ER322",
                                                "ER323",
                                                "ER324",
                                                "ER325",
                                                "ER326",
                                                "ER327",
                                                "ER328",
                                                "ER329",
                                                "ER330",
                                                "ER331",
                                                "ER332",
                                                "ER333",
                                                "ER334",
                                                "ER335",
                                                "ER336",
                                                "ER337",
                                                "ER338",
                                                "ER339",
                                                "ER402",
                                                "ER403",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER300": {
                                            "code": "ER300",
                                            "message": "Base Currency should not be blank when Fixed Currency is set.",
                                            "solution": "Provide a valid Base Currency."
                                        },
                                        "ER301": {
                                            "code": "ER301",
                                            "message": "Base Currency should be a string.",
                                            "solution": "Provide a valid string for Base Currency."
                                        },
                                        "ER303": {
                                            "code": "ER303",
                                            "message": "Quote Currency should be a string.",
                                            "solution": "Provide a valid string for Quote Currency."
                                        },
                                        "ER304": {
                                            "code": "ER304",
                                            "message": "Base Currency Amount should be a number.",
                                            "solution": "Provide a valid number for Base Currency Amount."
                                        },
                                        "ER305": {
                                            "code": "ER305",
                                            "message": "Quote Currency Amount should be a number.",
                                            "solution": "Provide a valid number for Quote Currency Amount."
                                        },
                                        "ER306": {
                                            "code": "ER306",
                                            "message": "Payment Method should not be blank when Fixed Payment Method is set.",
                                            "solution": "Provide a valid Payment Method."
                                        },
                                        "ER307": {
                                            "code": "ER307",
                                            "message": "Payment Method should be a string.",
                                            "solution": "Provide a valid string for Payment Method."
                                        },
                                        "ER308": {
                                            "code": "ER308",
                                            "message": "Return URL should not be blank.",
                                            "solution": "Provide a valid Return URL."
                                        },
                                        "ER309": {
                                            "code": "ER309",
                                            "message": "Return URL should be a string.",
                                            "solution": "Provide a valid string for Return URL."
                                        },
                                        "ER310": {
                                            "code": "ER310",
                                            "message": "Callback URL should be a string or null.",
                                            "solution": "Provide a valid string for Callback URL or leave it null for default value."
                                        },
                                        "ER311": {
                                            "code": "ER311",
                                            "message": "Partner Order Identifier should be a string or null.",
                                            "solution": "Provide a valid string for Partner Order Identifier or leave it null."
                                        },
                                        "ER312": {
                                            "code": "ER312",
                                            "message": "Wallet Address should be a string or null.",
                                            "solution": "Provide a valid string for Wallet Address or leave it null."
                                        },
                                        "ER313": {
                                            "code": "ER313",
                                            "message": "Wallet Address Tag should be a string or null.",
                                            "solution": "Provide a valid string for Wallet Address Tag or leave it null."
                                        },
                                        "ER314": {
                                            "code": "ER314",
                                            "message": "Expire Time should be a int or null.",
                                            "solution": "Provide a valid int for Expire Time or leave it null for default value."
                                        },
                                        "ER315": {
                                            "code": "ER315",
                                            "message": "Fee should be a number or null.",
                                            "solution": "Provide a valid number for Fee or leave it null for default value."
                                        },
                                        "ER316": {
                                            "code": "ER316",
                                            "message": "Fixed Amount should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Fixed Amount or leave it null."
                                        },
                                        "ER317": {
                                            "code": "ER317",
                                            "message": "Fixed Currency should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Fixed Currency or leave it null."
                                        },
                                        "ER318": {
                                            "code": "ER318",
                                            "message": "Fixed Payment Method should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Fixed Payment Method or leave it null."
                                        },
                                        "ER319": {
                                            "code": "ER319",
                                            "message": "Show Wallet Address should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Show Wallet Address or leave it null."
                                        },
                                        "ER320": {
                                            "code": "ER320",
                                            "message": "Exactly one or none of baseCurrencyAmount or quoteCurrencyAmount must be set.",
                                            "solution": "Set Exactly one or none of baseCurrencyAmount or quoteCurrencyAmount."
                                        },
                                        "ER321": {
                                            "code": "ER321",
                                            "message": "Callback URL should not be blank.",
                                            "solution": "Provide a valid Callback URL."
                                        },
                                        "ER322": {
                                            "code": "ER322",
                                            "message": "Expire Time should not be blank.",
                                            "solution": "Provide a valid Expire Time."
                                        },
                                        "ER323": {
                                            "code": "ER323",
                                            "message": "Fee should not be blank.",
                                            "solution": "Provide a valid Fee."
                                        },
                                        "ER324": {
                                            "code": "ER324",
                                            "message": "Something went wrong.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER325": {
                                            "code": "ER325",
                                            "message": "Wallet address is required",
                                            "solution": "Please provide a valid wallet address."
                                        },
                                        "ER326": {
                                            "code": "ER326",
                                            "message": "Invalid Base Currency and Quote Currency combination.",
                                            "solution": "Please provide a valid Base Currency and Quote Currency combination."
                                        },
                                        "ER327": {
                                            "code": "ER327",
                                            "message": "Invalid payment method.",
                                            "solution": "Please provide a valid payment method."
                                        },
                                        "ER328": {
                                            "code": "ER328",
                                            "message": "Something went wrong.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER329": {
                                            "code": "ER329",
                                            "message": "Invalid expire time.",
                                            "solution": "Please provide a valid expire time"
                                        },
                                        "ER330": {
                                            "code": "ER330",
                                            "message": "Exactly one of baseCurrencyAmount or quoteCurrencyAmount must be set when Fixed Amount is set.",
                                            "solution": "Set Exactly one of baseCurrencyAmount or quoteCurrencyAmount."
                                        },
                                        "ER331": {
                                            "code": "ER331",
                                            "message": "Secret not set",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER332": {
                                            "code": "ER332",
                                            "message": "Payment Method should not be null.",
                                            "solution": "Provide a valid Payment Method or leave it out of the request."
                                        },
                                        "ER333": {
                                            "code": "ER333",
                                            "message": "Login token not found.",
                                            "solution": "Provide a valid login token and uuid."
                                        },
                                        "ER334": {
                                            "code": "ER334",
                                            "message": "Login token has expired.",
                                            "solution": "Request a new login token."
                                        },
                                        "ER335": {
                                            "code": "ER335",
                                            "message": "Login token has no user attached.",
                                            "solution": "Request a new login token."
                                        },
                                        "ER336": {
                                            "code": "ER336",
                                            "message": "Signature is invalid.",
                                            "solution": "Provide a valid Signature."
                                        },
                                        "ER337": {
                                            "code": "ER337",
                                            "message": "Base Currency should not be blank.",
                                            "solution": "Provide a valid Base Currency."
                                        },
                                        "ER338": {
                                            "code": "ER338",
                                            "message": "Signature should be a string.",
                                            "solution": "Provide a valid string for Signature."
                                        },
                                        "ER339": {
                                            "code": "ER339",
                                            "message": "Signature is required when Wallet Address, Fee, Return Url or Callback Url is set.",
                                            "solution": "Provide a valid Signature."
                                        },
                                        "ER402": {
                                            "code": "ER402",
                                            "message": "targetCurrency contains an unsupported CAIP-19 identifier.",
                                            "solution": "Provide a valid and supported CAIP-19 identifier for targetCurrency."
                                        },
                                        "ER403": {
                                            "code": "ER403",
                                            "message": "sourceCurrency contains an unsupported CAIP-19 identifier.",
                                            "solution": "Provide a valid and supported CAIP-19 identifier for sourceCurrency."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Returns a checkout URL",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CheckoutResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v2/buy/confirm": {
            "post": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to confirm a fiat to crypto quote.",
                "operationId": "post_app_v2_buy_confirm_confirm",
                "requestBody": {
                    "description": "To confirm, you should submit a quote, offerId and walletAddress. Optional parameters are walletAddressTag and walletType.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ConfirmRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER006",
                                                "ER007",
                                                "ER008",
                                                "ER009",
                                                "ER014",
                                                "ER015",
                                                "ER044",
                                                "ER045",
                                                "ER046",
                                                "ER047",
                                                "ER048",
                                                "ER124",
                                                "ER131",
                                                "ER132",
                                                "ER133",
                                                "ER134",
                                                "ER135",
                                                "ER136",
                                                "ER137",
                                                "ER138",
                                                "ER139",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER006": {
                                            "code": "ER006",
                                            "message": "The provided quote has expired.",
                                            "solution": "Request a new quote."
                                        },
                                        "ER007": {
                                            "code": "ER007",
                                            "message": "The provided quote contains invalid data. It is possible it has been tampered with.",
                                            "solution": "Provide a valid quote."
                                        },
                                        "ER008": {
                                            "code": "ER008",
                                            "message": "The selected currency is down for maintenance.",
                                            "solution": "Check /api/v1/system/currency-pairs to see whether the selected currency is enabled, and try again."
                                        },
                                        "ER009": {
                                            "code": "ER009",
                                            "message": "The provided quote is not a buy quote.",
                                            "solution": "Request a new buy quote."
                                        },
                                        "ER014": {
                                            "code": "ER014",
                                            "message": "Invalid wallet address.",
                                            "solution": "Provide a valid wallet address for the selected currency pair."
                                        },
                                        "ER015": {
                                            "code": "ER015",
                                            "message": "Invalid destination tag.",
                                            "solution": "Provide a valid destination tag."
                                        },
                                        "ER044": {
                                            "code": "ER044",
                                            "message": "Destination tag not supported for this currency pair.",
                                            "solution": "Leave the destination tag empty."
                                        },
                                        "ER045": {
                                            "code": "ER045",
                                            "message": "Missing quote.",
                                            "solution": "Provide a valid quote."
                                        },
                                        "ER046": {
                                            "code": "ER046",
                                            "message": "Invalid callback URL.",
                                            "solution": "Provide a valid callback URL."
                                        },
                                        "ER047": {
                                            "code": "ER047",
                                            "message": "Invalid return URL.",
                                            "solution": "Provide a valid return URL."
                                        },
                                        "ER048": {
                                            "code": "ER048",
                                            "message": "Invalid JSON data provided.",
                                            "solution": "Provide valid JSON data."
                                        },
                                        "ER124": {
                                            "code": "ER124",
                                            "message": "User is disabled.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER131": {
                                            "code": "ER131",
                                            "message": "Invalid offerId provided, offer already confirmed.",
                                            "solution": "Provide an offerId that has not yet been confirmed."
                                        },
                                        "ER132": {
                                            "code": "ER132",
                                            "message": "Invalid offerId provided, offer not found.",
                                            "solution": "Provide an existing offerId."
                                        },
                                        "ER133": {
                                            "code": "ER133",
                                            "message": "The offer is expired.",
                                            "solution": "You can only confirm non-expired offers."
                                        },
                                        "ER134": {
                                            "code": "ER134",
                                            "message": "The amount is fixed and cannot be changed.",
                                            "solution": "You can only confirm this offer for the original amount."
                                        },
                                        "ER135": {
                                            "code": "ER135",
                                            "message": "The currency is fixed and cannot be changed.",
                                            "solution": "You can only confirm this offer for the original currency."
                                        },
                                        "ER136": {
                                            "code": "ER136",
                                            "message": "The payment method is fixed and cannot be changed.",
                                            "solution": "You can only confirm this offer for the original payment method."
                                        },
                                        "ER137": {
                                            "code": "ER137",
                                            "message": "The fee is fixed and cannot be changed.",
                                            "solution": "You can only confirm this offer for the original fee."
                                        },
                                        "ER138": {
                                            "code": "ER138",
                                            "message": "The account type does not support the quoted payment method.",
                                            "solution": "Choose an account type that supports the quoted payment method."
                                        },
                                        "ER139": {
                                            "code": "ER139",
                                            "message": "The account is not verified.",
                                            "solution": "Provide a verified account or verify the account first."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Returns a URL to pay for the order.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Confirmation"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/buy/{id}/identification/liveness": {
            "get": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to get the liveness check status for the order.",
                "operationId": "get_app_v2_buy_identification_liveness",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER033",
                                                "ER034",
                                                "ER035",
                                                "ER150",
                                                "ER700",
                                                "ER702",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER033": {
                                            "code": "ER033",
                                            "message": "Missing order id parameter.",
                                            "solution": "Supply an order id parameter."
                                        },
                                        "ER034": {
                                            "code": "ER034",
                                            "message": "Invalid order id parameter.",
                                            "solution": "Order id parameter can only be a number."
                                        },
                                        "ER035": {
                                            "code": "ER035",
                                            "message": "An order with the supplied id was not found.",
                                            "solution": "Supply a valid order id."
                                        },
                                        "ER150": {
                                            "code": "ER150",
                                            "message": "Provided orderId does not belong to authenticated user.",
                                            "solution": "Provide an orderId that belongs to the user."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "The response contains the liveness check status for the order.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Status"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/buy/offer": {
            "post": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to create an offer.",
                "operationId": "post_app_v2_buy_offercreate_create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateOfferRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER300",
                                                "ER301",
                                                "ER302",
                                                "ER303",
                                                "ER304",
                                                "ER305",
                                                "ER306",
                                                "ER307",
                                                "ER308",
                                                "ER309",
                                                "ER310",
                                                "ER311",
                                                "ER312",
                                                "ER313",
                                                "ER314",
                                                "ER315",
                                                "ER316",
                                                "ER317",
                                                "ER318",
                                                "ER319",
                                                "ER320",
                                                "ER321",
                                                "ER322",
                                                "ER323",
                                                "ER324",
                                                "ER325",
                                                "ER326",
                                                "ER327",
                                                "ER328",
                                                "ER329",
                                                "ER330",
                                                "ER331",
                                                "ER332",
                                                "ER333",
                                                "ER334",
                                                "ER335",
                                                "ER336",
                                                "ER337",
                                                "ER338",
                                                "ER339",
                                                "ER402",
                                                "ER403",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER300": {
                                            "code": "ER300",
                                            "message": "Base Currency should not be blank when Fixed Currency is set.",
                                            "solution": "Provide a valid Base Currency."
                                        },
                                        "ER301": {
                                            "code": "ER301",
                                            "message": "Base Currency should be a string.",
                                            "solution": "Provide a valid string for Base Currency."
                                        },
                                        "ER302": {
                                            "code": "ER302",
                                            "message": "Quote Currency should not be blank.",
                                            "solution": "Provide a valid Quote Currency."
                                        },
                                        "ER303": {
                                            "code": "ER303",
                                            "message": "Quote Currency should be a string.",
                                            "solution": "Provide a valid string for Quote Currency."
                                        },
                                        "ER304": {
                                            "code": "ER304",
                                            "message": "Base Currency Amount should be a number.",
                                            "solution": "Provide a valid number for Base Currency Amount."
                                        },
                                        "ER305": {
                                            "code": "ER305",
                                            "message": "Quote Currency Amount should be a number.",
                                            "solution": "Provide a valid number for Quote Currency Amount."
                                        },
                                        "ER306": {
                                            "code": "ER306",
                                            "message": "Payment Method should not be blank when Fixed Payment Method is set.",
                                            "solution": "Provide a valid Payment Method."
                                        },
                                        "ER307": {
                                            "code": "ER307",
                                            "message": "Payment Method should be a string.",
                                            "solution": "Provide a valid string for Payment Method."
                                        },
                                        "ER308": {
                                            "code": "ER308",
                                            "message": "Return URL should not be blank.",
                                            "solution": "Provide a valid Return URL."
                                        },
                                        "ER309": {
                                            "code": "ER309",
                                            "message": "Return URL should be a string.",
                                            "solution": "Provide a valid string for Return URL."
                                        },
                                        "ER310": {
                                            "code": "ER310",
                                            "message": "Callback URL should be a string or null.",
                                            "solution": "Provide a valid string for Callback URL or leave it null for default value."
                                        },
                                        "ER311": {
                                            "code": "ER311",
                                            "message": "Partner Order Identifier should be a string or null.",
                                            "solution": "Provide a valid string for Partner Order Identifier or leave it null."
                                        },
                                        "ER312": {
                                            "code": "ER312",
                                            "message": "Wallet Address should be a string or null.",
                                            "solution": "Provide a valid string for Wallet Address or leave it null."
                                        },
                                        "ER313": {
                                            "code": "ER313",
                                            "message": "Wallet Address Tag should be a string or null.",
                                            "solution": "Provide a valid string for Wallet Address Tag or leave it null."
                                        },
                                        "ER314": {
                                            "code": "ER314",
                                            "message": "Expire Time should be a int or null.",
                                            "solution": "Provide a valid int for Expire Time or leave it null for default value."
                                        },
                                        "ER315": {
                                            "code": "ER315",
                                            "message": "Fee should be a number or null.",
                                            "solution": "Provide a valid number for Fee or leave it null for default value."
                                        },
                                        "ER316": {
                                            "code": "ER316",
                                            "message": "Fixed Amount should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Fixed Amount or leave it null."
                                        },
                                        "ER317": {
                                            "code": "ER317",
                                            "message": "Fixed Currency should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Fixed Currency or leave it null."
                                        },
                                        "ER318": {
                                            "code": "ER318",
                                            "message": "Fixed Payment Method should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Fixed Payment Method or leave it null."
                                        },
                                        "ER319": {
                                            "code": "ER319",
                                            "message": "Show Wallet Address should be a boolean or null.",
                                            "solution": "Provide a valid boolean for Show Wallet Address or leave it null."
                                        },
                                        "ER320": {
                                            "code": "ER320",
                                            "message": "Exactly one or none of baseCurrencyAmount or quoteCurrencyAmount must be set.",
                                            "solution": "Set Exactly one or none of baseCurrencyAmount or quoteCurrencyAmount."
                                        },
                                        "ER321": {
                                            "code": "ER321",
                                            "message": "Callback URL should not be blank.",
                                            "solution": "Provide a valid Callback URL."
                                        },
                                        "ER322": {
                                            "code": "ER322",
                                            "message": "Expire Time should not be blank.",
                                            "solution": "Provide a valid Expire Time."
                                        },
                                        "ER323": {
                                            "code": "ER323",
                                            "message": "Fee should not be blank.",
                                            "solution": "Provide a valid Fee."
                                        },
                                        "ER324": {
                                            "code": "ER324",
                                            "message": "Something went wrong.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER325": {
                                            "code": "ER325",
                                            "message": "Wallet address is required",
                                            "solution": "Please provide a valid wallet address."
                                        },
                                        "ER326": {
                                            "code": "ER326",
                                            "message": "Invalid Base Currency and Quote Currency combination.",
                                            "solution": "Please provide a valid Base Currency and Quote Currency combination."
                                        },
                                        "ER327": {
                                            "code": "ER327",
                                            "message": "Invalid payment method.",
                                            "solution": "Please provide a valid payment method."
                                        },
                                        "ER328": {
                                            "code": "ER328",
                                            "message": "Something went wrong.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER329": {
                                            "code": "ER329",
                                            "message": "Invalid expire time.",
                                            "solution": "Please provide a valid expire time"
                                        },
                                        "ER330": {
                                            "code": "ER330",
                                            "message": "Exactly one of baseCurrencyAmount or quoteCurrencyAmount must be set when Fixed Amount is set.",
                                            "solution": "Set Exactly one of baseCurrencyAmount or quoteCurrencyAmount."
                                        },
                                        "ER331": {
                                            "code": "ER331",
                                            "message": "Secret not set",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER332": {
                                            "code": "ER332",
                                            "message": "Payment Method should not be null.",
                                            "solution": "Provide a valid Payment Method or leave it out of the request."
                                        },
                                        "ER333": {
                                            "code": "ER333",
                                            "message": "Login token not found.",
                                            "solution": "Provide a valid login token and uuid."
                                        },
                                        "ER334": {
                                            "code": "ER334",
                                            "message": "Login token has expired.",
                                            "solution": "Request a new login token."
                                        },
                                        "ER335": {
                                            "code": "ER335",
                                            "message": "Login token has no user attached.",
                                            "solution": "Request a new login token."
                                        },
                                        "ER336": {
                                            "code": "ER336",
                                            "message": "Signature is invalid.",
                                            "solution": "Provide a valid Signature."
                                        },
                                        "ER337": {
                                            "code": "ER337",
                                            "message": "Base Currency should not be blank.",
                                            "solution": "Provide a valid Base Currency."
                                        },
                                        "ER338": {
                                            "code": "ER338",
                                            "message": "Signature should be a string.",
                                            "solution": "Provide a valid string for Signature."
                                        },
                                        "ER339": {
                                            "code": "ER339",
                                            "message": "Signature is required when Wallet Address, Fee, Return Url or Callback Url is set.",
                                            "solution": "Provide a valid Signature."
                                        },
                                        "ER402": {
                                            "code": "ER402",
                                            "message": "targetCurrency contains an unsupported CAIP-19 identifier.",
                                            "solution": "Provide a valid and supported CAIP-19 identifier for targetCurrency."
                                        },
                                        "ER403": {
                                            "code": "ER403",
                                            "message": "sourceCurrency contains an unsupported CAIP-19 identifier.",
                                            "solution": "Provide a valid and supported CAIP-19 identifier for sourceCurrency."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Returns an UUID and expire time",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CreateOfferResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v2/buy/orders/{id}": {
            "get": {
                "tags": [
                    "Buy"
                ],
                "summary": "Retrieves Buy order information for any buy order for the authenticated client.",
                "operationId": "get_app_v2_buy_order_orderdetails",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER033",
                                                "ER034",
                                                "ER035",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER033": {
                                            "code": "ER033",
                                            "message": "Missing order id parameter.",
                                            "solution": "Supply an order id parameter."
                                        },
                                        "ER034": {
                                            "code": "ER034",
                                            "message": "Invalid order id parameter.",
                                            "solution": "Order id parameter can only be a number."
                                        },
                                        "ER035": {
                                            "code": "ER035",
                                            "message": "An order with the supplied id was not found.",
                                            "solution": "Supply a valid order id."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Order status retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Order"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v2/buy/payment-methods": {
            "get": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to get the available payment methods.",
                "operationId": "get_app_v2_buy_paymentmethods_paymentmethods",
                "parameters": [
                    {
                        "name": "countryCode",
                        "in": "query",
                        "description": "The countryCode will be used to determine the payment method order, but only when no user is provided. If no user and no countryCode is provided the default order will be used.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "at",
                                "be",
                                "bg",
                                "ch",
                                "cy",
                                "cz",
                                "de",
                                "dk",
                                "ee",
                                "es",
                                "fi",
                                "fr",
                                "gb",
                                "gr",
                                "hr",
                                "hu",
                                "ie",
                                "it",
                                "lt",
                                "lu",
                                "lv",
                                "mt",
                                "nl",
                                "no",
                                "pl",
                                "pt",
                                "ro",
                                "se",
                                "sk",
                                "sl"
                            ]
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Returns a list of available payment methods. Order of the payment methods is determined by the user and/or (user|input)country and is representing the preferred payment methods.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentMethodsResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/client/info": {
            "get": {
                "tags": [
                    "Client"
                ],
                "summary": "Returns information about the current authenticated Api client.",
                "operationId": "get_app_v2_client_info_info",
                "responses": {
                    "200": {
                        "description": "Client info retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClientInfoResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/prices": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Returns buy and sell prices per currency pair, with full currency metadata.",
                "description": "Pairs with no available price are omitted. The buy or sell field is omitted when that direction is disabled or unavailable.\nThere is an optional fee you may include by appending the Query parameter ?fee=3 to your request, where 3 will be the fee percentage (3%) added to the returned prices.",
                "operationId": "get_app_v2_prices_prices_prices",
                "parameters": [
                    {
                        "name": "fee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "example": 1.5
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER050",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER050": {
                                            "code": "ER050",
                                            "message": "Invalid fee provided.",
                                            "solution": "Provide a number between 0 and 5.0 inclusive."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Returns buy and sell prices per currency pair with currency metadata.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "BTC-EUR": {
                                        "sourceCurrency": {
                                            "code": "BTC",
                                            "ticker": "BTC",
                                            "chain": null,
                                            "name": "Bitcoin",
                                            "decimals": 8,
                                            "supportsTag": false,
                                            "smartContractAddress": null,
                                            "caip19": "bip122:000000000019d6689c085ae165831e93/slip44:0"
                                        },
                                        "targetCurrency": {
                                            "code": "EUR",
                                            "name": "Euro",
                                            "decimals": 2,
                                            "caip19": "swift:0/iso4217:EUR"
                                        },
                                        "buy": 54355.9,
                                        "sell": 52722.66
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/sell/orders/{id}": {
            "get": {
                "tags": [
                    "Sell"
                ],
                "summary": "Retrieves Sell order information for any sell order for the authenticated client.",
                "operationId": "get_app_v2_sell_order_orderdetails",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER033",
                                                "ER034",
                                                "ER035",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER033": {
                                            "code": "ER033",
                                            "message": "Missing order id parameter.",
                                            "solution": "Supply an order id parameter."
                                        },
                                        "ER034": {
                                            "code": "ER034",
                                            "message": "Invalid order id parameter.",
                                            "solution": "Order id parameter can only be a number."
                                        },
                                        "ER035": {
                                            "code": "ER035",
                                            "message": "An order with the supplied id was not found.",
                                            "solution": "Supply a valid order id."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Order status retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Order2"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v2/user/accounts/iban": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Submit an unverified IBAN account for the authenticated user.",
                "description": "If the IBAN already exists for this user, a 201 response is returned without creating a duplicate.",
                "operationId": "post_app_v2_user_accounts_iban_addibanaccount",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddIbanAccountRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER056",
                                                "ER086",
                                                "ER113",
                                                "ER187",
                                                "ER188",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER056": {
                                            "code": "ER056",
                                            "message": "Invalid IBAN number provided.",
                                            "solution": "Provide a valid IBAN number."
                                        },
                                        "ER086": {
                                            "code": "ER086",
                                            "message": "Disabled IBAN account provided.",
                                            "solution": "Provide a non-disabled IBAN account. A list of valid accounts can be retrieved from /api/v1/user/info."
                                        },
                                        "ER113": {
                                            "code": "ER113",
                                            "message": "No IBAN account provided.",
                                            "solution": "Provide a valid IBAN account."
                                        },
                                        "ER187": {
                                            "code": "ER187",
                                            "message": "Invalid holder name.",
                                            "solution": "Provide a valid holder name."
                                        },
                                        "ER188": {
                                            "code": "ER188",
                                            "message": "The account cannot be instantly verified.",
                                            "solution": "The account could not be automatically verified. It may still be verified by support."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "IBAN account successfully submitted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AddIbanAccountResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/accounts/cards/worldpay": {
            "post": {
                "tags": [
                    "User/Accounts"
                ],
                "operationId": "post_app_v2_user_accounts_worldpay_create_createcardaccount",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateCardAccountRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER109",
                                                "ER114",
                                                "ER188",
                                                "ER393",
                                                "ER399",
                                                "ER401",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER109": {
                                            "code": "ER109",
                                            "message": "No currency provided.",
                                            "solution": "Provide a supported currency."
                                        },
                                        "ER114": {
                                            "code": "ER114",
                                            "message": "Unsupported currency provided.",
                                            "solution": "Provide a supported currency."
                                        },
                                        "ER188": {
                                            "code": "ER188",
                                            "message": "The account cannot be instantly verified.",
                                            "solution": "The account could not be automatically verified. It may still be verified by support."
                                        },
                                        "ER393": {
                                            "code": "ER393",
                                            "message": "Token cannot be an empty string.",
                                            "solution": "Provide a valid token."
                                        },
                                        "ER399": {
                                            "code": "ER399",
                                            "message": "Cardholder name is missing on the account.",
                                            "solution": "Ensure the account has a cardholder name before requesting verification."
                                        },
                                        "ER401": {
                                            "code": "ER401",
                                            "message": "Unable to create payment account.",
                                            "solution": "Please try again later. If the problem persists, contact support."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "The Worldpay card account has been created successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CardAccountResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/dca-codes": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to get all DCA codes for the user.",
                "operationId": "get_app_v2_user_dcacode_list",
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "DCA codes retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/DcaCodeResponse"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/limit": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Fetches the user limits from Genesis and returns them.",
                "operationId": "get_app_v2_user_limit_getlimits",
                "parameters": [
                    {
                        "name": "groups",
                        "in": "query",
                        "description": "the Limits you want to receive.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "examples": {
                            "userLimits,accountLimits": {
                                "summary": "shows both the account and user limits. This value is also used when the query param is omitted.",
                                "value": "userLimits,accountLimits"
                            },
                            "userLimits": {
                                "summary": "only show the user limits",
                                "value": "userLimits"
                            },
                            "accountLimits": {
                                "summary": "only show the account limits",
                                "value": "accountLimits"
                            }
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER038",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER038": {
                                            "code": "ER038",
                                            "message": "Bad credentials.",
                                            "solution": "Provide valid credentials."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Returns the limits of the user, and limits per account.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LimitResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/login-with-token": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to authenticate a user using a temporary token.",
                "operationId": "post_app_v2_user_login_login",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/LoginTokenRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "User logged in successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TokenResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v2/user": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to register a user.",
                "description": "Take note to send only valid website locales. See the list of supported locales in the model V1\\System\\WebsiteLocale below.",
                "operationId": "post_app_v2_user_user_register",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RegistrationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER002",
                                                "ER003",
                                                "ER053",
                                                "ER059",
                                                "ER061",
                                                "ER062",
                                                "ER063",
                                                "ER064",
                                                "ER081",
                                                "ER083",
                                                "ER084",
                                                "ER085",
                                                "ER090",
                                                "ER102",
                                                "ER121",
                                                "ER122",
                                                "ER123",
                                                "ER125",
                                                "ER126",
                                                "ER127",
                                                "ER181",
                                                "ER182",
                                                "ER183",
                                                "ER184",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER001": {
                                            "code": "ER001",
                                            "message": "Email address is invalid.",
                                            "solution": "Provide a valid email address."
                                        },
                                        "ER002": {
                                            "code": "ER002",
                                            "message": "Email address already registered.",
                                            "solution": "Tell the user to log in to their existing account, or provide a link to the 'forgot password' procedure."
                                        },
                                        "ER003": {
                                            "code": "ER003",
                                            "message": "No email address provided.",
                                            "solution": "Provide a valid email address."
                                        },
                                        "ER053": {
                                            "code": "ER053",
                                            "message": "Missing identifier.",
                                            "solution": "Provide a valid identifier."
                                        },
                                        "ER059": {
                                            "code": "ER059",
                                            "message": "Invalid phone number provided.",
                                            "solution": "Provide a valid phone number."
                                        },
                                        "ER061": {
                                            "code": "ER061",
                                            "message": "Invalid ISO 3166-1 alpha-2 country code provided.",
                                            "solution": "Provide a valid ISO 3166-1 alpha-2 country code."
                                        },
                                        "ER062": {
                                            "code": "ER062",
                                            "message": "No country code provided.",
                                            "solution": "Provide a valid country code."
                                        },
                                        "ER063": {
                                            "code": "ER063",
                                            "message": "Invalid country code provided.",
                                            "solution": "Provide a valid country code."
                                        },
                                        "ER064": {
                                            "code": "ER064",
                                            "message": "Invalid business country code provided.",
                                            "solution": "Provide a valid business country code."
                                        },
                                        "ER081": {
                                            "code": "ER081",
                                            "message": "Invalid website language provided.",
                                            "solution": "Provide a valid website language."
                                        },
                                        "ER083": {
                                            "code": "ER083",
                                            "message": "Invalid website country provided.",
                                            "solution": "Provide a valid website country."
                                        },
                                        "ER084": {
                                            "code": "ER084",
                                            "message": "Invalid website language/country combination provided.",
                                            "solution": "Provide a valid website language/country combination."
                                        },
                                        "ER085": {
                                            "code": "ER085",
                                            "message": "User is not 18 years old yet.",
                                            "solution": "Users need to be 18 years or older to be able to register via the API."
                                        },
                                        "ER090": {
                                            "code": "ER090",
                                            "message": "Invalid email verification code.",
                                            "solution": "Provide a valid email verification code."
                                        },
                                        "ER102": {
                                            "code": "ER102",
                                            "message": "User identifier length out of bounds.",
                                            "solution": "Provide a user identifier with a minimum of 36 characters and a maximum of 255."
                                        },
                                        "ER121": {
                                            "code": "ER121",
                                            "message": "Invalid Chamber of Commerce number provided.",
                                            "solution": "Provide a valid, Chamber of Commerce number."
                                        },
                                        "ER122": {
                                            "code": "ER122",
                                            "message": "Invalid password length",
                                            "solution": "Your password should be at least 8 characters in length."
                                        },
                                        "ER123": {
                                            "code": "ER123",
                                            "message": "Invalid password length",
                                            "solution": "Your password can't have more than 64 characters."
                                        },
                                        "ER125": {
                                            "code": "ER125",
                                            "message": "Invalid business name.",
                                            "solution": "Remove any emoji, < or > characters from the business name."
                                        },
                                        "ER126": {
                                            "code": "ER126",
                                            "message": "Invalid first name.",
                                            "solution": "Remove any emoji, < or > characters from the first name."
                                        },
                                        "ER127": {
                                            "code": "ER127",
                                            "message": "Invalid last name.",
                                            "solution": "Remove any emoji, < or > characters from the last name."
                                        },
                                        "ER181": {
                                            "code": "ER181",
                                            "message": "Invalid residential address provided.",
                                            "solution": "Provide a valid residential address."
                                        },
                                        "ER182": {
                                            "code": "ER182",
                                            "message": "Invalid residential address number provided.",
                                            "solution": "Provide a valid residential address number."
                                        },
                                        "ER183": {
                                            "code": "ER183",
                                            "message": "Invalid residential city provided.",
                                            "solution": "Provide a valid residential city."
                                        },
                                        "ER184": {
                                            "code": "ER184",
                                            "message": "Invalid residential postcal code provided.",
                                            "solution": "Provide a valid residential postcal code."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "User information updated successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserInfoResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to update an existing user.",
                "description": "Take note to send only valid website locales. See the list of supported locales in the model V1\\System\\WebsiteLocale below.",
                "operationId": "patch_app_v2_user_user_patch",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PatchRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER003",
                                                "ER053",
                                                "ER059",
                                                "ER061",
                                                "ER062",
                                                "ER063",
                                                "ER064",
                                                "ER081",
                                                "ER083",
                                                "ER085",
                                                "ER090",
                                                "ER102",
                                                "ER121",
                                                "ER122",
                                                "ER123",
                                                "ER125",
                                                "ER126",
                                                "ER127",
                                                "ER181",
                                                "ER182",
                                                "ER183",
                                                "ER184",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER001": {
                                            "code": "ER001",
                                            "message": "Email address is invalid.",
                                            "solution": "Provide a valid email address."
                                        },
                                        "ER003": {
                                            "code": "ER003",
                                            "message": "No email address provided.",
                                            "solution": "Provide a valid email address."
                                        },
                                        "ER053": {
                                            "code": "ER053",
                                            "message": "Missing identifier.",
                                            "solution": "Provide a valid identifier."
                                        },
                                        "ER059": {
                                            "code": "ER059",
                                            "message": "Invalid phone number provided.",
                                            "solution": "Provide a valid phone number."
                                        },
                                        "ER061": {
                                            "code": "ER061",
                                            "message": "Invalid ISO 3166-1 alpha-2 country code provided.",
                                            "solution": "Provide a valid ISO 3166-1 alpha-2 country code."
                                        },
                                        "ER062": {
                                            "code": "ER062",
                                            "message": "No country code provided.",
                                            "solution": "Provide a valid country code."
                                        },
                                        "ER063": {
                                            "code": "ER063",
                                            "message": "Invalid country code provided.",
                                            "solution": "Provide a valid country code."
                                        },
                                        "ER064": {
                                            "code": "ER064",
                                            "message": "Invalid business country code provided.",
                                            "solution": "Provide a valid business country code."
                                        },
                                        "ER081": {
                                            "code": "ER081",
                                            "message": "Invalid website language provided.",
                                            "solution": "Provide a valid website language."
                                        },
                                        "ER083": {
                                            "code": "ER083",
                                            "message": "Invalid website country provided.",
                                            "solution": "Provide a valid website country."
                                        },
                                        "ER085": {
                                            "code": "ER085",
                                            "message": "User is not 18 years old yet.",
                                            "solution": "Users need to be 18 years or older to be able to register via the API."
                                        },
                                        "ER090": {
                                            "code": "ER090",
                                            "message": "Invalid email verification code.",
                                            "solution": "Provide a valid email verification code."
                                        },
                                        "ER102": {
                                            "code": "ER102",
                                            "message": "User identifier length out of bounds.",
                                            "solution": "Provide a user identifier with a minimum of 36 characters and a maximum of 255."
                                        },
                                        "ER121": {
                                            "code": "ER121",
                                            "message": "Invalid Chamber of Commerce number provided.",
                                            "solution": "Provide a valid, Chamber of Commerce number."
                                        },
                                        "ER122": {
                                            "code": "ER122",
                                            "message": "Invalid password length",
                                            "solution": "Your password should be at least 8 characters in length."
                                        },
                                        "ER123": {
                                            "code": "ER123",
                                            "message": "Invalid password length",
                                            "solution": "Your password can't have more than 64 characters."
                                        },
                                        "ER125": {
                                            "code": "ER125",
                                            "message": "Invalid business name.",
                                            "solution": "Remove any emoji, < or > characters from the business name."
                                        },
                                        "ER126": {
                                            "code": "ER126",
                                            "message": "Invalid first name.",
                                            "solution": "Remove any emoji, < or > characters from the first name."
                                        },
                                        "ER127": {
                                            "code": "ER127",
                                            "message": "Invalid last name.",
                                            "solution": "Remove any emoji, < or > characters from the last name."
                                        },
                                        "ER181": {
                                            "code": "ER181",
                                            "message": "Invalid residential address provided.",
                                            "solution": "Provide a valid residential address."
                                        },
                                        "ER182": {
                                            "code": "ER182",
                                            "message": "Invalid residential address number provided.",
                                            "solution": "Provide a valid residential address number."
                                        },
                                        "ER183": {
                                            "code": "ER183",
                                            "message": "Invalid residential city provided.",
                                            "solution": "Provide a valid residential city."
                                        },
                                        "ER184": {
                                            "code": "ER184",
                                            "message": "Invalid residential postcal code provided.",
                                            "solution": "Provide a valid residential postcal code."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "User information updated successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserInfoResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/verification-status": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to retrieve the verification status of an existing user.",
                "description": "If the result is an empty array, the user is fully verified.",
                "operationId": "get_app_v2_user_user_verificationstatus",
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "User verification status returned successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Status2"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/wallet-address-book": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to add a wallet address to the user's address book.",
                "operationId": "post_app_v2_user_walletaddressbook_addwalletaddresstoaddressbook",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddWalletAddressBookRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER014",
                                                "ER015",
                                                "ER044",
                                                "ER109",
                                                "ER114",
                                                "ER325",
                                                "ER357",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER014": {
                                            "code": "ER014",
                                            "message": "Invalid wallet address.",
                                            "solution": "Provide a valid wallet address for the selected currency pair."
                                        },
                                        "ER015": {
                                            "code": "ER015",
                                            "message": "Invalid destination tag.",
                                            "solution": "Provide a valid destination tag."
                                        },
                                        "ER044": {
                                            "code": "ER044",
                                            "message": "Destination tag not supported for this currency pair.",
                                            "solution": "Leave the destination tag empty."
                                        },
                                        "ER109": {
                                            "code": "ER109",
                                            "message": "No currency provided.",
                                            "solution": "Provide a supported currency."
                                        },
                                        "ER114": {
                                            "code": "ER114",
                                            "message": "Unsupported currency provided.",
                                            "solution": "Provide a supported currency."
                                        },
                                        "ER325": {
                                            "code": "ER325",
                                            "message": "Wallet address is required",
                                            "solution": "Please provide a valid wallet address."
                                        },
                                        "ER357": {
                                            "code": "ER357",
                                            "message": "Wallet address name is required and should be a string.",
                                            "solution": "Please provide a valid wallet address name."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Successfully added wallet address to user's address book."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/wallet-address-book/{id}": {
            "delete": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to remove a wallet address from the user's address book.",
                "operationId": "delete_app_v2_user_walletaddressbook_deletewalletaddressfromaddressbook",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the wallet address.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 189632
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER358",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER358": {
                                            "code": "ER358",
                                            "message": "Wallet address id is invalid.",
                                            "solution": "Please provide a valid wallet address id."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Successfully removed wallet address from user's address book."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to update the name of a wallet address in the user's address book.",
                "operationId": "patch_app_v2_user_walletaddressbook_changewalletaddressnameinaddressbook",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the wallet address.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 189632
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RenameWalletAddressInAddressBookRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER357",
                                                "ER358",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER357": {
                                            "code": "ER357",
                                            "message": "Wallet address name is required and should be a string.",
                                            "solution": "Please provide a valid wallet address name."
                                        },
                                        "ER358": {
                                            "code": "ER358",
                                            "message": "Wallet address id is invalid.",
                                            "solution": "Please provide a valid wallet address id."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Successfully changed wallet address name in user's address book."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/wallet-address": {
            "get": {
                "tags": [
                    "User"
                ],
                "operationId": "get_app_v2_user_walletaddress_getwalletaddress",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "The wallet address to query.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    {
                        "name": "destinationTag",
                        "in": "query",
                        "description": "The destination tag or memo to query.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "12345"
                    },
                    {
                        "name": "destination_tag",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "default": null
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the user's wallet address book.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserWalletAddress"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User wallet address book not found."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v2/user/wallet-address/{id}": {
            "patch": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to set the wallet type.",
                "operationId": "patch_app_v2_user_walletaddress_updatewalletaddress",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "description": "Update the wallet type, will be ignored if previously set.",
                                "properties": {
                                    "type": {
                                        "description": "The wallet type to set.",
                                        "type": "string",
                                        "enum": [
                                            "vasp",
                                            "unhosted"
                                        ],
                                        "example": "unhosted"
                                    }
                                },
                                "type": "object"
                            },
                            "example": {
                                "type": "unhosted"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER358",
                                                "ER395",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER358": {
                                            "code": "ER358",
                                            "message": "Wallet address id is invalid.",
                                            "solution": "Please provide a valid wallet address id."
                                        },
                                        "ER395": {
                                            "code": "ER395",
                                            "message": "Invalid wallet address type provided.",
                                            "solution": "Provide a valid wallet address type."
                                        },
                                        "ER700": {
                                            "code": "ER700",
                                            "message": "User authorization token not found.",
                                            "solution": "Provide a user authorization token."
                                        },
                                        "ER701": {
                                            "code": "ER701",
                                            "message": "User authorization token has expired.",
                                            "solution": "Request a new authorization token, or refresh the token."
                                        },
                                        "ER702": {
                                            "code": "ER702",
                                            "message": "User authorization token is invalid.",
                                            "solution": "Provide a valid user authorization token."
                                        },
                                        "ER703": {
                                            "code": "ER703",
                                            "message": "User identifier does not belong to the user in the user authorization token.",
                                            "solution": "Provide a valid user identifier, or remove the user identifier header."
                                        },
                                        "ER704": {
                                            "code": "ER704",
                                            "message": "No user identifier found in headers.",
                                            "solution": "Provide a valid user identifier, or use the user/password authentication mechanism to request a user token and send that."
                                        },
                                        "ER705": {
                                            "code": "ER705",
                                            "message": "User identifier is not linked to a user.",
                                            "solution": "Provide a valid user identifier, link this user identifier to a user account, or use the user/password authentication mechanism."
                                        },
                                        "ER706": {
                                            "code": "ER706",
                                            "message": "User identifier is invalid.",
                                            "solution": "Provide a valid user identifier, a unique identifier string for the user account that is not already in use."
                                        },
                                        "ER707": {
                                            "code": "ER707",
                                            "message": "User identifier is invalid.",
                                            "solution": "Please provide an identifier, consisting of 36 - 255 characters, numeric or alphanumeric only."
                                        },
                                        "ER708": {
                                            "code": "ER708",
                                            "message": "There is a pending document for this side.",
                                            "solution": "Wait for the pending document to be reviewed."
                                        },
                                        "ER709": {
                                            "code": "ER709",
                                            "message": "User not found, or user has been deleted.",
                                            "solution": "Provide a valid user identifier."
                                        },
                                        "ER800": {
                                            "code": "ER800",
                                            "message": "Authorization token is invalid.",
                                            "solution": "Provide a valid authorization token."
                                        },
                                        "ER801": {
                                            "code": "ER801",
                                            "message": "Authorization token has expired.",
                                            "solution": "Request a new authorization token."
                                        },
                                        "ER802": {
                                            "code": "ER802",
                                            "message": "Authorization token not found.",
                                            "solution": "Provide an authorization token."
                                        },
                                        "ER803": {
                                            "code": "ER803",
                                            "message": "Multiple authorization methods used.",
                                            "solution": "Use exactly one authorization method."
                                        },
                                        "ER805": {
                                            "code": "ER805",
                                            "message": "API key is invalid.",
                                            "solution": "Provide a valid API key."
                                        },
                                        "ER806": {
                                            "code": "ER806",
                                            "message": "API key not found.",
                                            "solution": "Provide an API key."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Returns the user's wallet address book.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserWalletAddress"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "PricesRequest": {
                "title": "Prices request",
                "description": "Price request model",
                "type": "string"
            },
            "CreateCardAccountRequest": {
                "required": [
                    "sessionIdentifier",
                    "cardHolderName",
                    "currencyCode"
                ],
                "properties": {
                    "sessionIdentifier": {
                        "description": "The Worldpay session identifier from the card collection session.",
                        "type": "string",
                        "default": null,
                        "example": "eyJhbGciOiJSUzI1NiJ9"
                    },
                    "cardHolderName": {
                        "description": "The name of the card holder as it appears on the card.",
                        "type": "string",
                        "default": null,
                        "example": "John Doe"
                    },
                    "currencyCode": {
                        "description": "The ISO 4217 currency code.",
                        "type": "string",
                        "default": null,
                        "example": "EUR"
                    }
                },
                "type": "object"
            },
            "WalletAddressQuery": {
                "properties": {
                    "address": {
                        "type": "string"
                    },
                    "destination_tag": {
                        "type": "string",
                        "default": null
                    }
                },
                "type": "object"
            },
            "CheckoutRequest": {
                "required": [
                    "paymentMethod"
                ],
                "properties": {
                    "baseCurrency": {
                        "description": "Base currency",
                        "type": "string",
                        "default": "BTC",
                        "example": "ETH"
                    },
                    "quoteCurrency": {
                        "description": "Quote currency",
                        "type": "string",
                        "default": "EUR",
                        "example": "EUR"
                    },
                    "paymentMethod": {
                        "description": "Payment method",
                        "type": "string",
                        "default": "creditCard",
                        "example": "iDeal"
                    },
                    "baseCurrencyAmount": {
                        "description": "BaseCurrency amount, must be null if quoteCurrencyAmount is filled.",
                        "type": "number",
                        "format": "float",
                        "default": null,
                        "example": 0.1,
                        "nullable": true
                    },
                    "quoteCurrencyAmount": {
                        "description": "QuoteCurrency amount, must be null if baseCurrencyAmount is filled.",
                        "type": "number",
                        "format": "float",
                        "default": 100,
                        "example": 0.1,
                        "nullable": true
                    },
                    "returnUrl": {
                        "description": "URL to which the user will be redirected after they pay for the order.",
                        "type": "string",
                        "default": null,
                        "example": "https://example.com/return",
                        "nullable": true
                    },
                    "callbackUrl": {
                        "description": "URL to receive callbacks on.",
                        "type": "string",
                        "default": null,
                        "example": "https://example.com/callback",
                        "nullable": true
                    },
                    "partnerOrderIdentifier": {
                        "description": "Identifier that can be used to link to the order in your system.",
                        "type": "string",
                        "default": null,
                        "example": "123456789",
                        "nullable": true
                    },
                    "walletAddress": {
                        "description": "Wallet address to which the coins will be sent, omit to let the user decide.",
                        "type": "string",
                        "default": null,
                        "example": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
                        "nullable": true
                    },
                    "walletAddressTag": {
                        "description": "Wallet address tag",
                        "type": "string",
                        "default": null,
                        "example": "123456789",
                        "nullable": true
                    },
                    "expireTime": {
                        "description": "Expire-time in seconds",
                        "type": "string",
                        "default": null,
                        "example": "500",
                        "nullable": true
                    },
                    "fixedAmount": {
                        "description": "Make the amount fixed, customers won't be able to change the amount.",
                        "type": "boolean",
                        "default": false,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true
                    },
                    "fixedCurrency": {
                        "description": "Make the currency fixed, customers won't be able to change the currency.",
                        "type": "boolean",
                        "default": false,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true
                    },
                    "fixedPaymentMethod": {
                        "description": "Make the payment method fixed, customers won't be able to change the payment method.",
                        "type": "boolean",
                        "default": false,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true
                    },
                    "showWalletAddress": {
                        "description": "Whether the wallet address is visible on the checkout page.",
                        "type": "boolean",
                        "default": true,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true
                    },
                    "sourceCurrency": {
                        "description": "CAIP-19 identifier for the source currency. When provided together with targetCurrency, baseCurrency and quoteCurrency are derived from the registry.",
                        "type": "string",
                        "default": null,
                        "example": "swift:0/iso4217:EUR",
                        "nullable": true
                    },
                    "targetCurrency": {
                        "description": "CAIP-19 identifier for the target currency. When provided together with sourceCurrency, baseCurrency and quoteCurrency are derived from the registry.",
                        "type": "string",
                        "default": null,
                        "example": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/spl:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                        "nullable": true
                    }
                },
                "type": "object",
                "oneOf": [
                    {
                        "required": [
                            "sourceCurrency",
                            "targetCurrency"
                        ]
                    },
                    {
                        "required": [
                            "baseCurrency",
                            "quoteCurrency"
                        ]
                    }
                ]
            },
            "CheckoutResponse": {
                "properties": {
                    "checkoutUrl": {
                        "type": "string"
                    },
                    "baseCurrency": {
                        "type": "string"
                    },
                    "quoteCurrency": {
                        "type": "string"
                    },
                    "paymentMethod": {
                        "type": "string"
                    },
                    "returnUrl": {
                        "type": "string",
                        "default": null
                    },
                    "callbackUrl": {
                        "type": "string",
                        "default": null
                    },
                    "baseCurrencyAmount": {
                        "type": "number",
                        "default": null
                    },
                    "quoteCurrencyAmount": {
                        "type": "number",
                        "default": null
                    },
                    "partnerOrderIdentifier": {
                        "type": "string",
                        "default": null
                    },
                    "walletAddress": {
                        "type": "string",
                        "default": null
                    },
                    "walletAddressTag": {
                        "type": "string",
                        "default": null
                    },
                    "expireTime": {
                        "type": "integer",
                        "default": null
                    },
                    "fixedAmount": {
                        "type": "boolean",
                        "default": false
                    },
                    "fixedCurrency": {
                        "type": "boolean",
                        "default": false
                    },
                    "fixedPaymentMethod": {
                        "type": "boolean",
                        "default": false
                    },
                    "showWalletAddress": {
                        "type": "boolean",
                        "default": true
                    },
                    "signature": {
                        "type": "string",
                        "default": null
                    },
                    "partner": {
                        "type": "string",
                        "default": null
                    },
                    "sourceCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CurrencyModel"
                            }
                        ],
                        "nullable": true,
                        "description": "Source currency with optional CAIP-19 identifier.",
                        "default": null
                    },
                    "targetCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CurrencyModel"
                            }
                        ],
                        "nullable": true,
                        "description": "Target currency with optional CAIP-19 identifier.",
                        "default": null
                    }
                },
                "type": "object"
            },
            "ConfirmRequest": {
                "required": [
                    "offerId",
                    "walletAddress",
                    "quote"
                ],
                "properties": {
                    "walletAddress": {
                        "description": "The wallet address we send the cryptos to after the payment is completed.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "walletAddressTag": {
                        "description": "The destination tag where we send the cryptos to after the payment is completed.",
                        "type": "string",
                        "example": "104506660",
                        "nullable": true
                    },
                    "partnerOrderIdentifier": {
                        "description": "Unique identifier provided by the partner.",
                        "type": "string",
                        "example": "4ea2b5e9-a413-4359-a8f6-9263ae8a0ee7"
                    },
                    "quote": {
                        "description": "The quote generated by the sell/quote endpoint.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbmNyeXB0ZWQiOiJ0b2tlbiJ9.gj80-9FPf_Wl7CGg2eDEFHokoEVtXIT7l4F88ztgxnhGIuhjOrhZ6xZLT3vuJPKXam_jQskm1PuM7T0OQdawDw"
                    },
                    "offerId": {
                        "description": "the offer of the Uuid",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "28060342-758a-4fb5-b583-c28886a271ce"
                    },
                    "walletType": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/WalletType"
                            }
                        ],
                        "nullable": true,
                        "description": "The type of wallet to which the funds will be sent.",
                        "required": [
                            "false"
                        ],
                        "type": "string",
                        "example": "unhosted"
                    }
                },
                "type": "object"
            },
            "Confirmation": {
                "required": [
                    "orderId",
                    "paymentUrl"
                ],
                "properties": {
                    "orderId": {
                        "description": "The order id.",
                        "type": "integer",
                        "example": 1234
                    },
                    "paymentUrl": {
                        "description": "The URL the user should be redirected to, to complete their payment.",
                        "type": "string",
                        "example": "https://www.example.com/pay?id=1234"
                    },
                    "expiresAt": {
                        "description": "The expiry date-time that expires this confirmed quote. After this period it's no longer possible to pay for this order. The date does not apply for order that are paid through bank transfer.",
                        "type": "string",
                        "format": "date-time",
                        "default": null,
                        "example": "2025-04-07T18:30:00Z",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "Status": {
                "required": [
                    "name",
                    "status"
                ],
                "properties": {
                    "name": {
                        "description": "Name of the identification status",
                        "type": "string"
                    },
                    "type": {
                        "description": "The type of the identification.",
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "description": "The current status of the specific identification status response.",
                        "type": "string"
                    },
                    "data": {
                        "description": "Additional data related to the specific identification status response.",
                        "type": "object",
                        "default": null,
                        "example": {
                            "accessToken": "fooToken"
                        },
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "CreateOfferRequest": {
                "required": [
                    "baseCurrency",
                    "quoteCurrency",
                    "paymentMethod"
                ],
                "properties": {
                    "sourceCurrency": {
                        "description": "CAIP-19 identifier for the source (fiat) currency. Alternative to quoteCurrency \u2014 when both sourceCurrency and targetCurrency are provided, quoteCurrency and baseCurrency are derived automatically.",
                        "type": "string",
                        "example": "swift:0/iso4217:EUR",
                        "nullable": true
                    },
                    "targetCurrency": {
                        "description": "CAIP-19 identifier for the target (crypto) currency. Alternative to baseCurrency \u2014 when both sourceCurrency and targetCurrency are provided, quoteCurrency and baseCurrency are derived automatically.",
                        "type": "string",
                        "example": "bip122:000000000019d6689c085ae165831e93/slip44:0",
                        "nullable": true
                    },
                    "baseCurrency": {
                        "description": "Base currency",
                        "type": "string",
                        "example": "ETH"
                    },
                    "quoteCurrency": {
                        "description": "Quote currency",
                        "type": "string",
                        "example": "EUR"
                    },
                    "paymentMethod": {
                        "description": "Payment method",
                        "type": "string",
                        "example": "iDeal"
                    },
                    "baseCurrencyAmount": {
                        "description": "BaseCurrency amount, must be null if quoteCurrencyAmount is filled.",
                        "type": "number",
                        "format": "float",
                        "example": 0.1,
                        "nullable": true
                    },
                    "quoteCurrencyAmount": {
                        "description": "QuoteCurrency amount, must be null if baseCurrencyAmount is filled.",
                        "type": "number",
                        "format": "float",
                        "example": 0.1,
                        "nullable": true
                    },
                    "returnUrl": {
                        "description": "URL to which the user will be redirected after they pay the order.",
                        "type": "string",
                        "default": null,
                        "example": "https://example.com/return",
                        "nullable": true
                    },
                    "callbackUrl": {
                        "description": "URL to receive callbacks on.",
                        "type": "string",
                        "default": null,
                        "example": "https://example.com/callback"
                    },
                    "partnerOrderIdentifier": {
                        "description": "Identifier that can be used to link to the order in your system.",
                        "type": "string",
                        "default": null,
                        "example": "123456789",
                        "nullable": true
                    },
                    "walletAddress": {
                        "description": "Wallet address",
                        "type": "string",
                        "default": null,
                        "example": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
                    },
                    "walletAddressTag": {
                        "description": "Wallet address tag",
                        "type": "string",
                        "default": null,
                        "example": "123456789"
                    },
                    "expireTime": {
                        "description": "Expire-time in seconds",
                        "type": "string",
                        "default": null,
                        "example": "500"
                    },
                    "fixedAmount": {
                        "description": "Make the amount fixed, customers won't be able to change the amount.",
                        "type": "boolean",
                        "default": null,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true,
                        "nullable": true
                    },
                    "fixedCurrency": {
                        "description": "Make the currency fixed, customers won't be able to change the currency.",
                        "type": "boolean",
                        "default": null,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true,
                        "nullable": true
                    },
                    "fixedPaymentMethod": {
                        "description": "Make the payment method fixed, customers won't be able to change the payment method.",
                        "type": "boolean",
                        "default": null,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true,
                        "nullable": true
                    },
                    "showWalletAddress": {
                        "description": "Whether the wallet address is visible on the checkout page.",
                        "type": "boolean",
                        "default": null,
                        "enum": [
                            true,
                            false,
                            1,
                            0
                        ],
                        "example": true,
                        "nullable": true
                    },
                    "signature": {
                        "description": "Signature",
                        "type": "string",
                        "default": null,
                        "example": "afnsifuhwaensdkfnsdsir9324989r3ssd"
                    }
                },
                "type": "object"
            },
            "CreateOfferResponse": {
                "properties": {
                    "offerUuid": {
                        "type": "string"
                    },
                    "returnUrl": {
                        "type": "string"
                    },
                    "expiresAt": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "Order": {
                "required": [
                    "id",
                    "date",
                    "currencyPair",
                    "paymentMethod",
                    "walletAddress",
                    "status",
                    "isDcaOrder",
                    "isEstimatedQuote",
                    "fiatAmount",
                    "cryptoAmount",
                    "fees"
                ],
                "properties": {
                    "id": {
                        "description": "The order id.",
                        "type": "integer",
                        "example": 1
                    },
                    "date": {
                        "description": "The date and time of the order.",
                        "type": "string",
                        "format": "date-time",
                        "example": "2019-11-11T16:11:02Z"
                    },
                    "partnerOrderIdentifier": {
                        "description": "Unique identifier provided by the partner.",
                        "type": "string",
                        "example": "4ea2b5e9-a413-4359-a8f6-9263ae8a0ee7",
                        "nullable": true
                    },
                    "currencyPair": {
                        "description": "The currency pair of the order.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "paymentMethod": {
                        "description": "The payment method used for the order.",
                        "type": "string",
                        "example": "iDeal"
                    },
                    "walletAddress": {
                        "description": "The address of the wallet.",
                        "type": "string",
                        "example": "test-wallet-happy-flow"
                    },
                    "destinationTag": {
                        "description": "The destination tag which should be used to send the coins. This depends on the coin type and can be a string or an integer. For XRP it is an integer, for other coins it is a string.",
                        "type": "string|integer",
                        "example": {
                            "default": "ABC1234",
                            "XRP": 12341
                        },
                        "nullable": true
                    },
                    "status": {
                        "description": "The current status of the order.",
                        "type": "string",
                        "example": "cancelled"
                    },
                    "isDcaOrder": {
                        "description": "The order was created because of a DCA deposit.",
                        "type": "boolean",
                        "example": false
                    },
                    "isEstimatedQuote": {
                        "description": "The order was created based on an estimated quote.",
                        "type": "boolean",
                        "example": false
                    },
                    "fiatAmount": {
                        "$ref": "#/components/schemas/FiatMoney"
                    },
                    "cryptoAmount": {
                        "$ref": "#/components/schemas/CryptoMoney"
                    },
                    "fees": {
                        "$ref": "#/components/schemas/Fees"
                    },
                    "blockchainInfo": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/BlockChainInfo"
                            }
                        ],
                        "nullable": true,
                        "description": "The blockchain information involved in this order."
                    },
                    "expiresAt": {
                        "description": "The expiry date-time that expires this confirmed quote. After this period it is no longer possible to pay for this order.",
                        "type": "string",
                        "format": "date-time",
                        "default": null,
                        "example": "2025-04-07T18:30:00Z",
                        "nullable": true
                    },
                    "sourceCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CurrencyModel"
                            }
                        ],
                        "nullable": true,
                        "description": "The source currency (fiat) of the order, including optional CAIP-19 identifier.",
                        "default": null
                    },
                    "targetCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CurrencyModel"
                            }
                        ],
                        "nullable": true,
                        "description": "The target currency (crypto) of the order, including optional CAIP-19 identifier.",
                        "default": null
                    }
                },
                "type": "object"
            },
            "PaymentMethodsResponse": {
                "properties": {
                    "paymentMethods": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PaymentMethod"
                        }
                    }
                },
                "type": "object"
            },
            "ClientInfoResponse": {
                "required": [
                    "slug",
                    "displayName",
                    "walletVerificationRequired",
                    "myBtcRedirectsNewTab",
                    "usesEstimatedQuotes",
                    "canReturnUrlBeOpenedInBrowser",
                    "appendOrderInfoToReturnUrl",
                    "orderFailedActionUrl"
                ],
                "properties": {
                    "slug": {
                        "description": "The client slug.",
                        "type": "string",
                        "example": "btcdirect"
                    },
                    "displayName": {
                        "description": "The client display name.",
                        "type": "string",
                        "example": "BTC Direct europe BV."
                    },
                    "requiresWalletVerification": {
                        "description": "Whether the users have to do wallet verification when coming from this client.",
                        "type": "boolean",
                        "example": false
                    },
                    "myBtcRedirectsNewTab": {
                        "description": "Whether the myBtc redirect should open in a new tab.",
                        "type": "boolean",
                        "example": false
                    },
                    "usesEstimatedQuotes": {
                        "description": "Whether the client uses estimated quotes for bank transfers.",
                        "type": "boolean",
                        "example": true,
                        "deprecated": true
                    },
                    "canReturnUrlBeOpenedInBrowser": {
                        "description": "Whether the return url can be opened in the browser.",
                        "type": "boolean",
                        "example": true
                    },
                    "appendOrderInfoToReturnUrl": {
                        "description": "Whether the order info should be appended to the return url, for example the orderId.",
                        "type": "boolean",
                        "example": true
                    },
                    "orderFailedActionUrl": {
                        "description": "The URL to which the user will be returned if an order fails unexpectedly.",
                        "type": "string",
                        "example": "https://dashboard.btcdirect.eu",
                        "nullable": true
                    },
                    "walletType": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/WalletType"
                            }
                        ],
                        "nullable": true,
                        "description": "The type of wallet linked to this client.",
                        "type": "string",
                        "example": "unhosted"
                    }
                },
                "type": "object"
            },
            "Order2": {
                "required": [
                    "id",
                    "date",
                    "currencyPair",
                    "walletAddress",
                    "status",
                    "isDcaOrder",
                    "isEstimatedQuote",
                    "fiatAmount",
                    "cryptoAmount",
                    "fees"
                ],
                "properties": {
                    "id": {
                        "description": "The order id.",
                        "type": "integer",
                        "example": 1
                    },
                    "date": {
                        "description": "The date and time of the order.",
                        "type": "string",
                        "format": "date-time",
                        "example": "2019-11-11T16:11:02Z"
                    },
                    "partnerOrderIdentifier": {
                        "description": "Unique identifier provided by the partner.",
                        "type": "string",
                        "example": "4ea2b5e9-a413-4359-a8f6-9263ae8a0ee7",
                        "nullable": true
                    },
                    "currencyPair": {
                        "description": "The currency pair of the order.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "walletAddress": {
                        "description": "The address to which the coins should be sent.",
                        "type": "string",
                        "example": "test-wallet-happy-flow",
                        "nullable": true
                    },
                    "destinationTag": {
                        "description": "The destination tag which should be used to send the coins. This depends on the coin type and can be a string or an integer. For XRP it is an integer, for other coins it is a string.",
                        "type": "string|integer",
                        "example": {
                            "default": "ABC1234",
                            "XRP": 12341
                        },
                        "nullable": true
                    },
                    "status": {
                        "description": "The current status of the order.",
                        "type": "string",
                        "example": "cancelled"
                    },
                    "isDcaOrder": {
                        "description": "The order was created because of a DCA deposit.",
                        "type": "boolean",
                        "example": false
                    },
                    "isEstimatedQuote": {
                        "description": "The order was created based on an estimated quote.",
                        "type": "boolean",
                        "example": false
                    },
                    "fiatAmount": {
                        "$ref": "#/components/schemas/FiatMoney"
                    },
                    "cryptoAmount": {
                        "$ref": "#/components/schemas/CryptoMoney"
                    },
                    "fees": {
                        "$ref": "#/components/schemas/Fees"
                    },
                    "blockchainInfo": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/BlockChainInfo"
                            }
                        ],
                        "nullable": true,
                        "description": "The blockchain information involved in this order."
                    },
                    "expiresAt": {
                        "description": "The expiry date-time that expires this confirmed quote. After this period it is no longer possible to pay for this order.",
                        "type": "string",
                        "format": "date-time",
                        "default": null,
                        "example": "2025-04-07T18:30:00Z",
                        "nullable": true
                    },
                    "sourceCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CurrencyModel"
                            }
                        ],
                        "nullable": true,
                        "description": "The source currency (crypto) of the order, including optional CAIP-19 identifier.",
                        "default": null
                    },
                    "targetCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CurrencyModel"
                            }
                        ],
                        "nullable": true,
                        "description": "The target currency (fiat) of the order, including optional CAIP-19 identifier.",
                        "default": null
                    }
                },
                "type": "object"
            },
            "AddIbanAccountRequest": {
                "required": [
                    "iban"
                ],
                "properties": {
                    "holder": {
                        "description": "The name of the account holder.",
                        "type": "string",
                        "default": "",
                        "example": "John Doe"
                    },
                    "iban": {
                        "description": "The IBAN account number.",
                        "type": "string",
                        "default": "",
                        "example": "NL37BUNQ2025406444"
                    }
                },
                "type": "object"
            },
            "AddIbanAccountResponse": {
                "required": [
                    "accountIdentifier"
                ],
                "properties": {
                    "accountIdentifier": {
                        "description": "The account identifier (IBAN).",
                        "type": "string",
                        "example": "NL37BUNQ2025406444"
                    }
                },
                "type": "object"
            },
            "CardAccountResponse": {
                "properties": {
                    "accountIdentifier": {
                        "description": "The masked card identifier.",
                        "type": "string",
                        "example": "404010_1234_12_2026"
                    },
                    "accountHolderName": {
                        "description": "The name of the card holder.",
                        "type": "string",
                        "example": "John Doe"
                    }
                },
                "type": "object"
            },
            "DcaCodeResponse": {
                "required": [
                    "code",
                    "cryptoCurrency",
                    "walletAddress",
                    "bankName",
                    "bankIban",
                    "bankBic",
                    "targetCurrency"
                ],
                "properties": {
                    "code": {
                        "description": "The DCA-code that should be included in the bank transfer deposit.",
                        "type": "string",
                        "example": "ABCDEFG9"
                    },
                    "apiClientName": {
                        "description": "The API client name.",
                        "type": "string",
                        "example": "Foo",
                        "nullable": true
                    },
                    "cryptoCurrency": {
                        "description": "The crypto currency that is purchased with this DCA-code.",
                        "type": "string",
                        "example": "BTC"
                    },
                    "walletAddress": {
                        "description": "The wallet address the coins are sent to when the DCA order is executed.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "destinationTag": {
                        "description": "The destination tag which should be used to send the coins. This depends on the coin type and can be a string or an integer. For XRP it is an integer, for other coins it is a string.",
                        "type": "string|integer",
                        "example": {
                            "default": "ABC1234",
                            "XRP": 12341
                        },
                        "nullable": true
                    },
                    "bankName": {
                        "description": "The name of the bank where the fiat needs to be sent to.",
                        "type": "string",
                        "example": "BTC Direct Europe B.V."
                    },
                    "bankIban": {
                        "description": "The IBAN where the fiat needs to be sent to.",
                        "type": "string",
                        "example": "NL37BUNQ2025406444"
                    },
                    "bankBic": {
                        "description": "The BIC of the bank.",
                        "type": "string",
                        "example": "BUNQNL2A"
                    },
                    "targetCurrency": {
                        "$ref": "#/components/schemas/CurrencyModel"
                    }
                },
                "type": "object"
            },
            "LimitResponse": {
                "properties": {
                    "limits": {
                        "properties": {
                            "user_day_limit": {
                                "$ref": "#/components/schemas/MoneyLimit"
                            },
                            "non_raised_limit_account_limit": {
                                "$ref": "#/components/schemas/MoneyLimit"
                            },
                            "new_limited_account_limit": {
                                "$ref": "#/components/schemas/MoneyLimit"
                            },
                            "number_of_non_raised_accounts_limit": {
                                "$ref": "#/components/schemas/IntegerLimit"
                            }
                        },
                        "type": "object"
                    },
                    "accounts": {
                        "type": "object",
                        "example": {
                            "545454_54_0330": {
                                "identifier": "545454_54_0330",
                                "name": "Development",
                                "type": "creditcard",
                                "disabled": false,
                                "verified": true,
                                "limitRaised": false,
                                "totalSpent": {
                                    "amount": 3000,
                                    "currency": "EUR"
                                },
                                "limit": null,
                                "isStoredCard": true,
                                "lastUsedAt": "2025-09-01T00:00:00Z"
                            },
                            "123456_78_9101": {
                                "identifier": "123456_78_9101",
                                "name": "Testing",
                                "type": "savings",
                                "disabled": false,
                                "verified": true,
                                "limitRaised": true,
                                "totalSpent": {
                                    "amount": 1500,
                                    "currency": "USD"
                                },
                                "limit": {
                                    "type": "user",
                                    "blockType": "hard",
                                    "subType": "account_limit",
                                    "boundaryType": "maximum",
                                    "limit": 10,
                                    "remainingLimit": 5
                                },
                                "isStoredCard": true,
                                "lastUsedAt": "2025-09-01T00:00:00Z"
                            }
                        },
                        "additionalProperties": {
                            "$ref": "#/components/schemas/LimitedAccount"
                        }
                    },
                    "limitedAccountTypes": {
                        "description": "List of payment method types where an account can be limited",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "applepay",
                                "googlepay",
                                "creditCard",
                                "bancontact"
                            ]
                        },
                        "example": [
                            "applepay",
                            "googlepay",
                            "creditcard",
                            "bancontact"
                        ]
                    }
                },
                "type": "object"
            },
            "LoginTokenRequest": {
                "properties": {
                    "uuid": {
                        "type": "string",
                        "default": ""
                    },
                    "token": {
                        "type": "string",
                        "default": ""
                    }
                },
                "type": "object"
            },
            "TokenResponse": {
                "properties": {
                    "uuid": {
                        "description": "UUID of the user.",
                        "type": "string",
                        "format": "string",
                        "example": "60bd85f1-1b05-427f-9226-915b6b13f39e"
                    },
                    "token": {
                        "description": "Authentication token. Use this to request resources requiring user authentication.",
                        "type": "string",
                        "format": "string",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
                    },
                    "refreshToken": {
                        "description": "Refresh token. Use this to request a new authenticatoin token.",
                        "type": "string",
                        "format": "string",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
                    }
                },
                "type": "object"
            },
            "RegistrationRequest": {
                "required": [
                    "email",
                    "country",
                    "identifier"
                ],
                "properties": {
                    "emailCode": {
                        "description": "Verification code, used to verify the e-mail address.",
                        "type": "string",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "example": 152367
                    },
                    "email": {
                        "description": "Email address of the user.",
                        "type": "string",
                        "example": "info@example.com"
                    },
                    "chamberOfCommerce": {
                        "description": "Chamber of Commerce number.",
                        "type": "string",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "example": 152367
                    },
                    "businessName": {
                        "description": "Name of the business.",
                        "type": "string",
                        "example": "BTC Direct"
                    },
                    "businessCountry": {
                        "description": "ISO 3166-1 alpha-2 country code of the country where the business is registered.",
                        "type": "string",
                        "example": "GB"
                    },
                    "amld5QuestionAnswers": {
                        "description": "The user's anwers to the AMLD5 questions.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": {
                            "kyc-amld5-annual-net-income": "From 10.000 to 30.000",
                            "kyc-amld5-employment-status": "Employed",
                            "kyc-amld5-main-source-income": "Salary",
                            "kyc-amld5-why-account-created": "Investing",
                            "kyc-amld5-which-industry": "Cryptocurrency, (Online) gambling & casino",
                            "kyc-amld5-annual-net-profit": "Above 250.000"
                        }
                    },
                    "phoneNumber": {
                        "description": "Phone number of the user, in the format +countrycodenumber (no dashes, spaces or other special characters).",
                        "type": "string",
                        "example": "+31612345678"
                    },
                    "dateOfBirth": {
                        "description": "Date of birth of the user, in the ISO 8601 format (YYYY-MM-DD).",
                        "type": "string",
                        "example": "1984-12-27"
                    },
                    "firstName": {
                        "description": "First name of the user.",
                        "type": "string",
                        "example": "John"
                    },
                    "lastName": {
                        "description": "Last name of the user.",
                        "type": "string",
                        "example": "Doe"
                    },
                    "country": {
                        "description": "ISO 3166-1 alpha-2 country code of the user.",
                        "type": "string",
                        "example": "DE"
                    },
                    "address": {
                        "description": "Streetname of the users address.",
                        "type": "string",
                        "example": "Street"
                    },
                    "addressNo": {
                        "description": "Housenumber of the users address.",
                        "type": "string",
                        "example": "12a"
                    },
                    "postalCode": {
                        "description": "Postalcode of the users address.",
                        "type": "string",
                        "example": "1234AB"
                    },
                    "city": {
                        "description": "City of the users address.",
                        "type": "string",
                        "example": "Amsterdam"
                    },
                    "websiteCountry": {
                        "description": "ISO 3166-1 alpha-2 country code of the user.",
                        "type": "string",
                        "example": "NL"
                    },
                    "websiteLanguage": {
                        "description": "ISO 3166-1 alpha-2 language code of the user.",
                        "type": "string",
                        "example": "NL"
                    },
                    "isBusiness": {
                        "description": "Determines whether a user is a business user or not.",
                        "type": "boolean",
                        "example": false
                    },
                    "privacyAgreement": {
                        "description": "Determines whether a user has agreed to the privacy agreement.",
                        "type": "boolean",
                        "example": false
                    },
                    "identityDocument": {
                        "description": "Identity document of the user.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IdentityDocument"
                        },
                        "example": [
                            {
                                "documentType": "IdentityCard",
                                "documentSide": "Front",
                                "data": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAVP3pUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjavZpnchw5EoX/4xR7BLiEOQ5sxN5gj7/fq27Ka1bSTKw4wyabxSogzTMJuvOff1/3L/6Zxeyy1VZ6KZ5/ueceB180//r3eg0+P58//oX356/ed5++jLwmXtPrB+W8f2vwvn3+hZrf78+v33d1vb6I7X2jjye/b5j05MgX7+va+0Ypvt4P7+9df//eyF9s5+P/k57b2fum336fK8HYxv1SdPGkkDyfo56SWEFqafBa+BwSb/PZ+DryOlJK+cexcz8L3s9i58f7/fR1KJwv7wvKNzF6vx/sx7F7IvTlisLnJ3/1g7o/wvh97O7d7d7z2t3IhUgV997Ux1aer7hwEsr0/Frho/K/8XV9PjofjS0uHrXJ5uRjudBDJNo35LDDCDec53WFxRJzPLHyGuMi1nqvpRp7XE9Ssj7CjTX1tB05immRNfKR4qe1hOe5/XneCo0n78CVMXCzwG989+F+9OaffHy60b0q3RB8+xQr1hVV0yxDmdNnriIF4b5jak98nw/3Rd34LxKbyKA9YW5scPj5usW08Lm20pPnxHXms/O"
                            }
                        ]
                    },
                    "newsletterSubscription": {
                        "description": "Determines whether a user will be subscribed to the BTC Direct newsletter.",
                        "type": "boolean",
                        "example": false
                    },
                    "identifier": {
                        "description": "The user identifier of the user.",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 36,
                        "example": "c6fefe8d7ac0f4113876d634e8d15f65947f1b62d4859fffcd2464d2be58b2d8"
                    },
                    "password": {
                        "description": "Password for the user to login (optional)",
                        "type": "string",
                        "example": "donotusethisexamplep@ssw0rd!"
                    },
                    "shareToken": {
                        "description": "The Sumsub share token of this user.",
                        "type": "string",
                        "example": "_act-sbx-jwt-fyJqdGkiOiJfYWN0LXNieC0wZjQ5OGZkYS0xZGVhLTQ4NPMtOTkzZi0yYWJiYWFhZjljZWIiLCJ1cmwiOiJofHRwczovL2FwaS5zbA1zdWIuY29tFn5"
                    }
                },
                "type": "object"
            },
            "UserInfoResponse": {
                "properties": {
                    "email": {
                        "description": "Email address of the user.",
                        "type": "string",
                        "example": "email@domain.com"
                    },
                    "firstName": {
                        "description": "First name of the user.",
                        "type": "string",
                        "example": "John"
                    },
                    "lastName": {
                        "description": "Last name of the user.",
                        "type": "string",
                        "example": "Doe"
                    },
                    "phoneNumber": {
                        "description": "Phone number of the user.",
                        "type": "string",
                        "example": ""
                    },
                    "country": {
                        "description": "Country or preferred language.",
                        "type": "string",
                        "example": "NL"
                    },
                    "isBusiness": {
                        "description": "Determines if this account is a business account or not.",
                        "type": "boolean",
                        "example": false
                    },
                    "registrationDate": {
                        "description": "Registration date of the user.",
                        "type": "string",
                        "example": "2019-01-01T14:13:55Z"
                    },
                    "activationDate": {
                        "description": "The date and time the user account was activated.",
                        "type": "string",
                        "example": "2019-01-02T12:43:25Z"
                    }
                },
                "type": "object"
            },
            "PatchRequest": {
                "required": [
                    "email",
                    "country"
                ],
                "properties": {
                    "emailCode": {
                        "description": "Verification code, used to verify the e-mail address.",
                        "type": "string",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "example": 152367
                    },
                    "email": {
                        "description": "Email address of the user.",
                        "type": "string",
                        "example": "info@example.com"
                    },
                    "chamberOfCommerce": {
                        "description": "Chamber of Commerce number.",
                        "type": "string",
                        "minimum": 0,
                        "exclusiveMinimum": true,
                        "example": 152367
                    },
                    "businessName": {
                        "description": "Name of the business.",
                        "type": "string",
                        "example": "BTC Direct"
                    },
                    "businessCountry": {
                        "description": "ISO 3166-1 alpha-2 country code of the country where the business is registered.",
                        "type": "string",
                        "example": "GB"
                    },
                    "amld5QuestionAnswers": {
                        "description": "The user's anwers to the AMLD5 questions.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": {
                            "kyc-amld5-annual-net-income": "From 10.000 to 30.000",
                            "kyc-amld5-employment-status": "Employed",
                            "kyc-amld5-main-source-income": "Salary",
                            "kyc-amld5-why-account-created": "Investing",
                            "kyc-amld5-which-industry": "Cryptocurrency, (Online) gambling & casino",
                            "kyc-amld5-annual-net-profit": "Above 250.000"
                        }
                    },
                    "phoneNumber": {
                        "description": "Phone number of the user, in the format +countrycodenumber (no dashes, spaces or other special characters).",
                        "type": "string",
                        "example": "+31612345678"
                    },
                    "dateOfBirth": {
                        "description": "Date of birth of the user, in the ISO 8601 format (YYYY-MM-DD).",
                        "type": "string",
                        "example": "1984-12-27"
                    },
                    "firstName": {
                        "description": "First name of the user.",
                        "type": "string",
                        "example": "John"
                    },
                    "lastName": {
                        "description": "Last name of the user.",
                        "type": "string",
                        "example": "Doe"
                    },
                    "country": {
                        "description": "ISO 3166-1 alpha-2 country code of the user.",
                        "type": "string",
                        "example": "DE"
                    },
                    "address": {
                        "description": "Streetname of the users address.",
                        "type": "string",
                        "example": "Street"
                    },
                    "addressNo": {
                        "description": "Housenumber of the users address.",
                        "type": "string",
                        "example": "12a"
                    },
                    "postalCode": {
                        "description": "Postalcode of the users address.",
                        "type": "string",
                        "example": "1234AB"
                    },
                    "city": {
                        "description": "City of the users address.",
                        "type": "string",
                        "example": "Amsterdam"
                    },
                    "websiteCountry": {
                        "description": "ISO 3166-1 alpha-2 country code of the user.",
                        "type": "string",
                        "example": "NL"
                    },
                    "websiteLanguage": {
                        "description": "ISO 3166-1 alpha-2 language code of the user.",
                        "type": "string",
                        "example": "NL"
                    },
                    "isBusiness": {
                        "description": "Determines whether a user is a business user or not.",
                        "type": "boolean",
                        "example": false
                    },
                    "privacyAgreement": {
                        "description": "Determines whether a user has agreed to the privacy agreement.",
                        "type": "boolean",
                        "example": false
                    },
                    "identityDocument": {
                        "description": "Identity document of the user.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IdentityDocument"
                        },
                        "example": [
                            {
                                "documentType": "IdentityCard",
                                "documentSide": "Front",
                                "data": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAVP3pUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjavZpnchw5EoX/4xR7BLiEOQ5sxN5gj7/fq27Ka1bSTKw4wyabxSogzTMJuvOff1/3L/6Zxeyy1VZ6KZ5/ueceB180//r3eg0+P58//oX356/ed5++jLwmXtPrB+W8f2vwvn3+hZrf78+v33d1vb6I7X2jjye/b5j05MgX7+va+0Ypvt4P7+9df//eyF9s5+P/k57b2fum336fK8HYxv1SdPGkkDyfo56SWEFqafBa+BwSb/PZ+DryOlJK+cexcz8L3s9i58f7/fR1KJwv7wvKNzF6vx/sx7F7IvTlisLnJ3/1g7o/wvh97O7d7d7z2t3IhUgV997Ux1aer7hwEsr0/Frho/K/8XV9PjofjS0uHrXJ5uRjudBDJNo35LDDCDec53WFxRJzPLHyGuMi1nqvpRp7XE9Ssj7CjTX1tB05immRNfKR4qe1hOe5/XneCo0n78CVMXCzwG989+F+9OaffHy60b0q3RB8+xQr1hVV0yxDmdNnriIF4b5jak98nw/3Rd34LxKbyKA9YW5scPj5usW08Lm20pPnxHXms/O"
                            }
                        ]
                    },
                    "newsletterSubscription": {
                        "description": "Determines whether a user will be subscribed to the BTC Direct newsletter.",
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "Status2": {
                "required": [
                    "name",
                    "status"
                ],
                "properties": {
                    "name": {
                        "description": "Name of the verification status",
                        "type": "string"
                    },
                    "type": {
                        "description": "The status type.",
                        "type": "string"
                    },
                    "status": {
                        "description": "The current status of the specific verification status response.",
                        "type": "string"
                    },
                    "data": {
                        "description": "Additional data related to the specific verification status response.",
                        "type": "object",
                        "default": null,
                        "example": [
                            {
                                "name": "isBusiness",
                                "status": "missing",
                                "type": "boolean"
                            },
                            {
                                "name": "emailCode",
                                "status": "pending",
                                "type": "string"
                            },
                            {
                                "name": "nationality",
                                "status": "missing",
                                "type": "choice",
                                "data": {
                                    "Netherlands": "NL",
                                    "German": "DE"
                                }
                            },
                            {
                                "name": "AMLD5Questions",
                                "status": "missing",
                                "type": "question",
                                "data": [
                                    {
                                        "key": "Question1",
                                        "label": "This is the actual question 1?",
                                        "answerOptions": [
                                            "answer1",
                                            "answer2",
                                            "answer3"
                                        ]
                                    },
                                    {
                                        "key": "Question2",
                                        "label": "This is the actual question 2?",
                                        "answerOptions": [
                                            "answer1",
                                            "answer2",
                                            "answer3"
                                        ]
                                    }
                                ]
                            },
                            {
                                "name": "idDocument",
                                "status": "missing",
                                "type": "document",
                                "data": [
                                    {
                                        "type": "passport",
                                        "data": [
                                            {
                                                "name": "front",
                                                "type": "file"
                                            },
                                            {
                                                "name": "back",
                                                "type": "file"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "name": "verificationFlag",
                                "status": "pending",
                                "type": "boolean"
                            }
                        ]
                    }
                },
                "type": "object"
            },
            "AddWalletAddressBookRequest": {
                "required": [
                    "name",
                    "currency",
                    "address"
                ],
                "properties": {
                    "name": {
                        "description": "The name for the wallet address in the user's wallet address book.",
                        "type": "string",
                        "default": "",
                        "example": "My savings wallet"
                    },
                    "currency": {
                        "description": "The currency of the wallet address.",
                        "type": "string",
                        "default": "",
                        "example": "BTC"
                    },
                    "address": {
                        "description": "The address of the wallet address.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "destinationTag": {
                        "description": "The (optional) destination tag or memo of the wallet address.",
                        "type": "string|integer",
                        "default": null,
                        "example": "ABC12345",
                        "nullable": true
                    },
                    "walletType": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/WalletType"
                            }
                        ],
                        "nullable": true,
                        "description": "The type of wallet to which the funds will be sent.",
                        "required": [
                            "false"
                        ],
                        "type": "string",
                        "default": null,
                        "example": "unhosted"
                    }
                },
                "type": "object"
            },
            "RenameWalletAddressInAddressBookRequest": {
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "description": "The new name of the wallet address in the user's wallet address book.",
                        "type": "string",
                        "example": "My extra wallet"
                    }
                },
                "type": "object"
            },
            "UserWalletAddress": {
                "properties": {
                    "currency": {
                        "description": "The currency.",
                        "type": "string",
                        "example": "BTC"
                    },
                    "address": {
                        "description": "The address.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "destinationTag": {
                        "description": "The destination tag which should be used to send the coins. This depends on the coin type and can be a string or an integer. For XRP it is an integer, for other coins it is a string.",
                        "type": "string|integer",
                        "default": {},
                        "example": {
                            "default": "ABC1234",
                            "XRP": 12341
                        },
                        "nullable": true
                    },
                    "name": {
                        "description": "A descriptive name.",
                        "type": "string",
                        "default": null,
                        "example": "My BTC wallet 1"
                    },
                    "status": {
                        "$ref": "#/components/schemas/UserWalletAddressBookState"
                    },
                    "walletType": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/WalletType"
                            }
                        ],
                        "nullable": true,
                        "description": "The type of wallet to which the funds will be sent.",
                        "type": "string",
                        "default": null,
                        "example": "unhosted"
                    },
                    "verificationStatus": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/UserWalletAddressVerification"
                            }
                        ],
                        "nullable": true,
                        "description": "The verification status of the wallet address.",
                        "type": "string",
                        "default": null,
                        "example": "required"
                    },
                    "id": {
                        "description": "The id.",
                        "type": "integer",
                        "example": 189632
                    }
                },
                "type": "object"
            },
            "CurrencyModel": {
                "description": "Currency details including optional CAIP-19 asset identifier",
                "required": [
                    "code",
                    "ticker",
                    "name",
                    "caip19"
                ],
                "properties": {
                    "code": {
                        "description": "The currency code.",
                        "type": "string",
                        "example": "USDC_SOL"
                    },
                    "ticker": {
                        "description": "The currency ticker.",
                        "type": "string",
                        "example": "USDC"
                    },
                    "name": {
                        "description": "The human-readable currency name.",
                        "type": "string",
                        "example": "USD Coin (Solana)"
                    },
                    "caip19": {
                        "description": "CAIP-19 chain-agnostic asset identifier, e.g. solana:5eykt.../spl:EPjFWdd5...",
                        "type": "string",
                        "example": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/spl:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
                    }
                },
                "type": "object"
            },
            "WalletType": {
                "type": "string",
                "enum": [
                    "vasp",
                    "unhosted"
                ]
            },
            "FiatMoney": {
                "required": [
                    "amount",
                    "currencyCode"
                ],
                "properties": {
                    "amount": {
                        "description": "The fiat amount.",
                        "type": "number",
                        "format": "float",
                        "example": 3000
                    },
                    "currencyCode": {
                        "description": "The fiat currency code.",
                        "type": "string",
                        "example": "EUR"
                    }
                },
                "type": "object"
            },
            "CryptoMoney": {
                "required": [
                    "amount",
                    "currencyCode"
                ],
                "properties": {
                    "amount": {
                        "description": "The amount of the cryptocurrency.",
                        "type": "number",
                        "format": "float",
                        "example": 0.5
                    },
                    "currencyCode": {
                        "description": "The currency code.",
                        "type": "string",
                        "example": "BTC"
                    }
                },
                "type": "object"
            },
            "Fees": {
                "required": [
                    "partnerFee",
                    "paymentMethodFee",
                    "networkFee",
                    "btcdirectFee",
                    "spreadFee"
                ],
                "properties": {
                    "partnerFee": {
                        "$ref": "#/components/schemas/FiatMoney"
                    },
                    "partnerFeePercentage": {
                        "description": "The fee earned by the partner in terms of a percentage for this order.",
                        "type": "number",
                        "example": 1.5,
                        "nullable": true
                    },
                    "paymentMethodFee": {
                        "$ref": "#/components/schemas/FiatMoney"
                    },
                    "networkFee": {
                        "$ref": "#/components/schemas/FiatMoney"
                    },
                    "btcdirectFee": {
                        "$ref": "#/components/schemas/FiatMoney"
                    },
                    "spreadFee": {
                        "$ref": "#/components/schemas/FiatMoney"
                    }
                },
                "type": "object"
            },
            "BlockChainInfo": {
                "required": [
                    "walletAddress",
                    "walletExplorer",
                    "transactionId",
                    "transactionExplorer"
                ],
                "properties": {
                    "walletAddress": {
                        "description": "The address of the wallet.",
                        "type": "string",
                        "default": "",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "walletExplorer": {
                        "description": "Link to the wallet on the wallet explorer.",
                        "type": "string",
                        "default": "",
                        "example": "https://www.blockchain.com/btc/address/3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "transactionId": {
                        "description": "The unique transaction id.",
                        "type": "string",
                        "default": "",
                        "example": "f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6"
                    },
                    "transactionExplorer": {
                        "description": "Link to the transaction on the blockchain explorer.",
                        "type": "string",
                        "default": "",
                        "example": "https://www.blockchain.com/btc/tx/f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6"
                    }
                },
                "type": "object"
            },
            "PaymentMethod": {
                "required": [
                    "code",
                    "label",
                    "psp",
                    "limit",
                    "fee",
                    "expirationPeriod",
                    "openInNewTab",
                    "context"
                ],
                "properties": {
                    "code": {
                        "description": "The BTC Direct payment method code.",
                        "type": "string",
                        "example": "creditCard"
                    },
                    "label": {
                        "description": "Payment method label.",
                        "type": "string",
                        "example": "Credit card"
                    },
                    "psp": {
                        "description": "The PSP that will be used for this payment method.",
                        "type": "string",
                        "example": "cm"
                    },
                    "limit": {
                        "description": "The maximum amount for this payment method.",
                        "type": "number",
                        "format": "float",
                        "example": "1000.01"
                    },
                    "fees": {
                        "$ref": "#/components/schemas/PaymentMethodFee"
                    },
                    "expirationPeriod": {
                        "description": "The number of seconds a user has to pay the order",
                        "type": "number",
                        "format": "int",
                        "example": "420"
                    },
                    "openInNewTab": {
                        "description": "Indicates if the payment method should open in a new tab.",
                        "type": "boolean",
                        "default": false,
                        "example": true
                    },
                    "context": {
                        "description": "Optional metadata that provides additional configuration for the payment method. Each context item specifies a type and corresponding value. For example, it may define which card brands are supported or a PSP-specific checkout identifier. The required context types depend on the PSP and selected payment method.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PaymentMethodContext"
                        },
                        "default": [],
                        "example": [
                            {
                                "type": "acceptedCards",
                                "value": [
                                    "visa",
                                    "mastercard"
                                ]
                            },
                            {
                                "type": "identifier",
                                "value": "checkout-identifier-123"
                            }
                        ]
                    }
                },
                "type": "object"
            },
            "MoneyLimit": {
                "properties": {
                    "type": {
                        "description": "the type of limit.",
                        "readOnly": true,
                        "example": "user",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitType"
                            }
                        ]
                    },
                    "blockType": {
                        "description": "the type of block if the limit is to be exceeded.",
                        "readOnly": true,
                        "example": "hard",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitBlockType"
                            }
                        ]
                    },
                    "subType": {
                        "description": "subtype of the limit.",
                        "default": null,
                        "readOnly": true,
                        "example": "user_day_limit",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitSubType"
                            }
                        ]
                    },
                    "boundaryType": {
                        "description": "the type of boundary of the limit this can be maximum or minimum",
                        "default": "maximum",
                        "readOnly": true,
                        "example": "maximum",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitBoundaryType"
                            }
                        ]
                    },
                    "limit": {
                        "description": "the total limit. This does not reflect the current state.",
                        "readOnly": true,
                        "example": {
                            "amount": "4000",
                            "currency": "EUR"
                        },
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/Money"
                            }
                        ]
                    },
                    "remainingLimit": {
                        "description": "The remaining limit to not exceed the threshold.",
                        "readOnly": true,
                        "example": {
                            "amount": "1000",
                            "currency": "EUR"
                        },
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/Money"
                            }
                        ]
                    }
                },
                "type": "object"
            },
            "IntegerLimit": {
                "properties": {
                    "type": {
                        "description": "the type of limit.",
                        "readOnly": true,
                        "example": "user",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitType"
                            }
                        ]
                    },
                    "blockType": {
                        "description": "the type of block if the limit is to be exceeded.",
                        "readOnly": true,
                        "example": "hard",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitBlockType"
                            }
                        ]
                    },
                    "subType": {
                        "description": "subtype of the limit.",
                        "default": null,
                        "readOnly": true,
                        "example": "user_day_limit",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitSubType"
                            }
                        ]
                    },
                    "boundaryType": {
                        "description": "the type of boundary of the limit this can be maximum or minimum",
                        "default": "maximum",
                        "readOnly": true,
                        "example": "maximum",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/LimitBoundaryType"
                            }
                        ]
                    },
                    "limit": {
                        "description": "the total limit. This does not reflect the current state.",
                        "type": "integer",
                        "readOnly": true,
                        "example": 10
                    },
                    "remainingLimit": {
                        "description": "The remaining limit to not exceed the threshold.",
                        "type": "integer",
                        "readOnly": true,
                        "example": 5
                    }
                },
                "type": "object"
            },
            "LimitedAccount": {
                "required": [
                    "identifier",
                    "name",
                    "type",
                    "disabled",
                    "verified",
                    "limitRaised",
                    "totalSpent",
                    "isStoredCard",
                    "lastUsedAt"
                ],
                "properties": {
                    "identifier": {
                        "description": "Identifier for the users monetary account.",
                        "type": "string",
                        "readOnly": true,
                        "example": "545454_54_0330"
                    },
                    "name": {
                        "description": "Name of the holder of the monetary account.",
                        "type": "string",
                        "readOnly": true,
                        "example": "Development"
                    },
                    "type": {
                        "description": "The type of monetary account.",
                        "type": "string",
                        "readOnly": true,
                        "example": "creditcard"
                    },
                    "disabled": {
                        "description": "Indicates if the monetary account is disabled",
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "verified": {
                        "description": "Indicates if the monetary account is verified.",
                        "type": "boolean",
                        "readOnly": true,
                        "example": true
                    },
                    "limitRaised": {
                        "description": "Indicates if the monetary account has a raised limit",
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "totalSpent": {
                        "description": "The amount spent on the monetary account in total.",
                        "readOnly": true,
                        "example": {
                            "amount": "3000",
                            "currency": "EUR"
                        },
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/Money"
                            }
                        ]
                    },
                    "limit": {
                        "description": "The limit for this account",
                        "readOnly": true,
                        "example": {
                            "type": "user",
                            "blockType": "hard",
                            "subType": "account_limit",
                            "boundaryType": "maximum",
                            "limit": 10,
                            "remainingLimit": 5
                        },
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/MoneyLimit"
                            }
                        ]
                    },
                    "isStoredCard": {
                        "description": "Determines if the account can be used as a stored card.",
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "lastUsedAt": {
                        "description": "Date the account was last used.",
                        "type": "string",
                        "format": "date-time",
                        "example": "2025-09-01T00:00:00Z"
                    },
                    "isCoinToFiatAllowed": {
                        "description": "Indicates if coin-to-fiat orders are allowed for this account.",
                        "type": "boolean",
                        "readOnly": true,
                        "example": true
                    }
                },
                "type": "object"
            },
            "IdentityDocument": {
                "properties": {
                    "document_type": {
                        "type": "string"
                    },
                    "document_side": {
                        "type": "string"
                    },
                    "uploaded_file": {
                        "$ref": "#/components/schemas/UploadedFile"
                    }
                },
                "type": "object"
            },
            "UserWalletAddressBookState": {
                "type": "string",
                "enum": [
                    "open",
                    "pending",
                    "disabled",
                    "verified",
                    "rejected"
                ]
            },
            "UserWalletAddressVerification": {
                "type": "string",
                "enum": [
                    "required",
                    "travel_rule_required"
                ]
            },
            "PaymentMethodFee": {
                "properties": {
                    "fixed": {
                        "description": "Fixed fee amount",
                        "type": "number",
                        "format": "float",
                        "example": "0.35"
                    },
                    "percentage": {
                        "description": "Fee percentage",
                        "type": "number",
                        "format": "float",
                        "example": "1.9"
                    }
                },
                "type": "object"
            },
            "PaymentMethodContext": {
                "required": [
                    "type",
                    "value"
                ],
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/PaymentMethodContextType"
                    },
                    "value": {
                        "description": "The value associated with the context type. This is dynamically typed: it can be a string, array, boolean, or integer depending on the context type. For example, for \"acceptedCards\", this will be an array of strings (e.g., [\"visa\", \"mastercard\"]).",
                        "type": "{}",
                        "readOnly": true
                    }
                },
                "type": "object"
            },
            "LimitType": {
                "type": "string",
                "enum": [
                    "user",
                    "paymentMethod",
                    "currency"
                ]
            },
            "LimitBlockType": {
                "type": "string",
                "enum": [
                    "soft",
                    "hard"
                ]
            },
            "LimitSubType": {
                "type": "string",
                "enum": [
                    "user_day_limit",
                    "user_day_limit_fiat_to_coin",
                    "user_day_limit_coin_to_fiat",
                    "non_raised_limit_account_limit",
                    "new_limited_account_limit",
                    "number_of_non_raised_accounts_limit",
                    "account_limit",
                    "disabled_account_limit",
                    "paypal_limit"
                ]
            },
            "LimitBoundaryType": {
                "type": "string",
                "enum": [
                    "maximum",
                    "minimum"
                ]
            },
            "Money": {
                "properties": {
                    "amount": {
                        "title": "Internal value.",
                        "description": "Amount, expressed in the smallest currency units (eg cents).",
                        "type": "string"
                    },
                    "calculator": {
                        "type": "string",
                        "default": "Money\\Calculator\\BcMathCalculator"
                    },
                    "currency": {
                        "$ref": "#/components/schemas/Currency"
                    }
                },
                "type": "object"
            },
            "UploadedFile": {
                "properties": {
                    "test": {
                        "type": "boolean",
                        "default": false
                    },
                    "original_name": {
                        "type": "string"
                    },
                    "mime_type": {
                        "type": "string",
                        "default": null
                    },
                    "error": {
                        "type": "integer",
                        "default": null
                    }
                },
                "type": "object"
            },
            "PaymentMethodContextType": {
                "type": "string",
                "enum": [
                    "acceptedCards",
                    "clientId",
                    "countries",
                    "country",
                    "currency",
                    "disableFunding",
                    "displayName",
                    "enableFunding",
                    "features",
                    "identifier",
                    "intent",
                    "scope"
                ]
            },
            "Currency": {
                "properties": {
                    "code": {
                        "title": "Currency code.",
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "Client": {
                "type": "apiKey",
                "description": "Value: Bearer {jwt}",
                "name": "Authorization",
                "in": "header"
            },
            "User": {
                "type": "apiKey",
                "description": "Value: Bearer {jwt}",
                "name": "User-Authorization",
                "in": "header"
            },
            "XPUB": {
                "type": "apiKey",
                "description": "Value: {xpub}",
                "name": "XPUB",
                "in": "header"
            }
        }
    },
    "tags": [
        {
            "name": "Buy"
        },
        {
            "name": "Client"
        },
        {
            "name": "System"
        },
        {
            "name": "Sell"
        },
        {
            "name": "User"
        },
        {
            "name": "User/Accounts"
        }
    ]
}