{
    "openapi": "3.0.0",
    "info": {
        "title": "BTC Direct API V1",
        "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": "1"
    },
    "paths": {
        "/api/v1/authenticate": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "This endpoint can be used to authenticate for the API.",
                "operationId": "post_app_v1_authentication_authenticate_authenticate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "username": {
                                        "description": "Username to authenticate with.",
                                        "type": "string",
                                        "example": "johndoe"
                                    },
                                    "password": {
                                        "description": "Password belonging to the given username.",
                                        "type": "string",
                                        "example": "kDWPe4qf$&mgM26&8hX"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER038",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER038": {
                                            "code": "ER038",
                                            "message": "Bad credentials.",
                                            "solution": "Provide valid credentials."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Successfully authenticated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseAuthenticationToken"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/refresh": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "This endpoint can be used to refresh a JWT token, resulting in a new JWT token to be used by subsequent requests.",
                "operationId": "post_app_v1_authentication_refreshtoken_refresh",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "refreshToken": {
                                        "description": "Refresh token.",
                                        "type": "string",
                                        "example": "ab6f6e74935129101a04882fb39be0c0440f9d4df271fa7654a0f99f847b9e0871db61bb515cb8ef5c11f7c298551f9a59107ec0ffb34f06eeab9f99272385cd"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER036",
                                                "ER037",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER036": {
                                            "code": "ER036",
                                            "message": "Refresh token is invalid or expired.",
                                            "solution": "Provide a valid refresh token or request a new (regular) token."
                                        },
                                        "ER037": {
                                            "code": "ER037",
                                            "message": "Refresh token is invalid.",
                                            "solution": "Provide a valid refresh token."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Token refreshed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseAuthenticationToken"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/buy/confirm": {
            "post": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to confirm a fiat to crypto quote.",
                "operationId": "post_app_v1_buy_confirm_confirm",
                "requestBody": {
                    "description": "To confirm, you should submit a quote, returnUrl and walletAddress. Optional parameters are callBackUrl, partnerOrderIdentifier and destinationTag.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/V1RequestBuyConfirm"
                            }
                        }
                    }
                },
                "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",
                                                "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."
                                        },
                                        "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/v1/buy/payment-methods/{type}": {
            "get": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to get the available payment methods.",
                "description": "If you provide the User-Identifier or User-Authorization header, the limits returned will take into account the user limits (max amount per transaction, not the remaining daily limit).",
                "operationId": "get_app_v1_buy_paymentmethods_paymentmethods",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "You can choose to receive all payment methods per country, or only the preferred ones for each country.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "all",
                            "enum": [
                                "all",
                                "preferred"
                            ]
                        }
                    }
                ],
                "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.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseBuyPaymentMethods"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/buy/quote": {
            "post": {
                "tags": [
                    "Buy"
                ],
                "summary": "This endpoint can be used to generate a buy quote.",
                "operationId": "post_app_v1_buy_quote_quote",
                "requestBody": {
                    "description": "Generates a quote for a fiat to coin pair.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/V1RequestBuyQuote"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER010",
                                                "ER011",
                                                "ER012",
                                                "ER013",
                                                "ER042",
                                                "ER043",
                                                "ER055",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER010": {
                                            "code": "ER010",
                                            "message": "Unknown currency pair.",
                                            "solution": "Provide a supported currency pair."
                                        },
                                        "ER011": {
                                            "code": "ER011",
                                            "message": "The provided fiatAmount is invalid.",
                                            "solution": "Provide a valid fiatAmount."
                                        },
                                        "ER012": {
                                            "code": "ER012",
                                            "message": "The provided cryptoAmount is invalid.",
                                            "solution": "Provide a valid cryptoAmount with max 8 decimals."
                                        },
                                        "ER013": {
                                            "code": "ER013",
                                            "message": "Unknown payment method.",
                                            "solution": "Provide a valid payment method."
                                        },
                                        "ER042": {
                                            "code": "ER042",
                                            "message": "Neither fiatAmount nor cryptoAmount is provided.",
                                            "solution": "Provide a fiat amount or a crypto amount."
                                        },
                                        "ER043": {
                                            "code": "ER043",
                                            "message": "Both fiatAmount and cryptoAmount are provided.",
                                            "solution": "Provide a fiat amount or a crypto amount, not both."
                                        },
                                        "ER055": {
                                            "code": "ER055",
                                            "message": "Payment method not available at this time.",
                                            "solution": "Provide another payment method."
                                        },
                                        "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 quote and appropriate data.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseBuyQuoteResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/payment/{entranceCode}/status": {
            "get": {
                "tags": [
                    "Payment"
                ],
                "summary": "Requests the payment status of a transaction from the PSP.",
                "operationId": "get_app_v1_payment_paymentstatus_getpaymentstatus",
                "parameters": [
                    {
                        "name": "entranceCode",
                        "in": "path",
                        "description": "The entrance code of the transaction.",
                        "required": true,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "7c456eed1dc3e65397fc0fdb542a5441"
                    },
                    {
                        "name": "redirectResult",
                        "in": "query",
                        "description": "URL encoded Base64 redirect result from Adyen.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "uhigyufvhjui89y7to6ftuygi87ot6fyvghygu78otyutgv....."
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER003",
                                                "ER346",
                                                "ER347",
                                                "ER348",
                                                "ER363",
                                                "ER364",
                                                "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."
                                        },
                                        "ER346": {
                                            "code": "ER346",
                                            "message": "Missing parameters to retrieve paymentStatus.",
                                            "solution": "provide the required parameters to retrieve the paymentStatus."
                                        },
                                        "ER347": {
                                            "code": "ER347",
                                            "message": "The payment status could not be retrieved.",
                                            "solution": "Please try again."
                                        },
                                        "ER348": {
                                            "code": "ER348",
                                            "message": "Retrieving the payment status for this order is currently not supported.",
                                            "solution": "Contact support for assistance."
                                        },
                                        "ER363": {
                                            "code": "ER363",
                                            "message": "Invalid return url value.",
                                            "solution": "Provide a valid return url."
                                        },
                                        "ER364": {
                                            "code": "ER364",
                                            "message": "Entrance code is missing.",
                                            "solution": "Provide an entrance 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": "The last recorded status for this payment.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentStatusResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/prices": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "This endpoint supplies the current fiat prices for every coin offered.",
                "description": "There 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_v1_prices_prices_prices",
                "parameters": [
                    {
                        "name": "fee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/V1RequestPricesPrices"
                        }
                    }
                ],
                "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 the fiat prices for each single coin",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": {
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "number"
                                        }
                                    }
                                },
                                "example": [
                                    {
                                        "buy": {
                                            "BCH-EUR": "532.21",
                                            "BTC-EUR": "54355.9",
                                            "ETH-EUR": "3972.28",
                                            "LTC-EUR": "177.41",
                                            "XRP-EUR": "2.03"
                                        },
                                        "sell": {
                                            "BCH-EUR": "515.08",
                                            "BTC-EUR": "52722.66",
                                            "ETH-EUR": "3852.92",
                                            "LTC-EUR": "171.11",
                                            "XRP-EUR": "1.01"
                                        }
                                    }
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sell/confirm": {
            "post": {
                "tags": [
                    "Sell"
                ],
                "summary": "This endpoint can be used to confirm a crypto to fiat quote.",
                "operationId": "post_app_v1_sell_confirm_confirm",
                "requestBody": {
                    "description": "To confirm, you should submit a quote and a bankAccount. Optional parameters are callBackUrl and partnerOrderIdentifier.",
                    "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",
                                                "ER016",
                                                "ER017",
                                                "ER124",
                                                "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."
                                        },
                                        "ER016": {
                                            "code": "ER016",
                                            "message": "Selling is down for maintenance.",
                                            "solution": "Check /api/v1/system/currency-pairs to see whether buying has been enabled, and try again."
                                        },
                                        "ER017": {
                                            "code": "ER017",
                                            "message": "The provided quote is not a sell quote.",
                                            "solution": "Request a new sell quote."
                                        },
                                        "ER124": {
                                            "code": "ER124",
                                            "message": "User is disabled.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "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 an address to send the cryptocurrency to.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1SellConfirmation"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/sell/payment-methods": {
            "get": {
                "tags": [
                    "Sell"
                ],
                "summary": "This endpoint can be used to get the available payment methods.",
                "description": "If you provide the User-Identifier or User-Authorization header, the limits returned will take into account the user limits (max amount per transaction, not the remaining daily limit).",
                "operationId": "get_app_v1_sell_paymentmethods_paymentmethods",
                "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.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentMethodsResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/sell/quote": {
            "post": {
                "tags": [
                    "Sell"
                ],
                "summary": "This endpoint can be used to generate a sell quote.",
                "operationId": "post_app_v1_sell_quote_quote",
                "requestBody": {
                    "description": "Generates a quote for a coin to fiat currency pair.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/QuoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER010",
                                                "ER011",
                                                "ER012",
                                                "ER019",
                                                "ER056",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER010": {
                                            "code": "ER010",
                                            "message": "Unknown currency pair.",
                                            "solution": "Provide a supported currency pair."
                                        },
                                        "ER011": {
                                            "code": "ER011",
                                            "message": "The provided fiatAmount is invalid.",
                                            "solution": "Provide a valid fiatAmount."
                                        },
                                        "ER012": {
                                            "code": "ER012",
                                            "message": "The provided cryptoAmount is invalid.",
                                            "solution": "Provide a valid cryptoAmount with max 8 decimals."
                                        },
                                        "ER019": {
                                            "code": "ER019",
                                            "message": "No bankAccount provided.",
                                            "solution": "Provide the bankAccount"
                                        },
                                        "ER056": {
                                            "code": "ER056",
                                            "message": "Invalid IBAN number provided.",
                                            "solution": "Provide a valid IBAN number."
                                        },
                                        "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 quote and appropriate data.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuoteResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/system/currency-pairs": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "This endpoint can be used to check the status of currency pairs which can be bought and/or sold on our platform.",
                "operationId": "get_app_v1_system_currencypairs_currencypairs",
                "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 the currency pairs for which quotes can be created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/V1SystemCurrencyPair"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v1/system/info": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "This endpoint can be used to get available URLs, nationalities and supported regions.",
                "description": "This endpoint provides localized urls of the FAQ, contact and forgot password pages. It also contains the private URLs (<code>privateUrls</code>) which can only be accessed using the <code>token</code> and <code>uuid</code> parameter.\n\nAn example of this is: https://my.btcdirect.eu/register/continue?token=abcde&uuid=1234\n\nYou can obtain the token and uuid parameters with the API endpoint <code>/api/v1/user/login-token</code>.\n\nThe urls listed under <code>verifyBankAccount</code> also accept a <code>returnUrl</code> as parameter. This will then be used as the URL for the \"Return to client\" button once the verification has been completed.\n\nThe urls listed under <code>dca</code> also accept the following optional query string parameters:\n<code>currency</code> Which currency to create the DCA order for.\n<code>walletAddress</code> The wallet address to which the currency will be sent\n<code>destinationTag</code> The destination tag to receive the coins on.",
                "operationId": "get_app_v1_system_info_info",
                "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 info about the system, such as localized urls of the forgot password and FAQ pages.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseSystemInfo"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v1/user/buy/orders/{id}": {
            "get": {
                "tags": [
                    "User/Buy"
                ],
                "summary": "This endpoint can be used to retrieve the status of an order.",
                "operationId": "get_app_v1_user_buy_order_order",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id or partner order identifier of the order to retrieve the status for.",
                        "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",
                                                "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": {
                                        "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."
                                        },
                                        "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": "Order status retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1UserBuyOrder"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/buy/orders": {
            "get": {
                "tags": [
                    "User/Buy"
                ],
                "summary": "This endpoint can be used to get a listing of all orders.",
                "operationId": "get_app_v1_user_buy_orders_orders",
                "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": "Returns a listing of all orders.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/V1UserBuyOrder"
                                    },
                                    "maxItems": 10,
                                    "uniqueItems": true
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/dca-code": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to generate a DCA code.",
                "operationId": "post_app_v1_user_dca_create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DcaCodeRequest"
                            }
                        }
                    }
                },
                "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",
                                                "ER016",
                                                "ER017",
                                                "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."
                                        },
                                        "ER016": {
                                            "code": "ER016",
                                            "message": "Selling is down for maintenance.",
                                            "solution": "Check /api/v1/system/currency-pairs to see whether buying has been enabled, and try again."
                                        },
                                        "ER017": {
                                            "code": "ER017",
                                            "message": "The provided quote is not a sell quote.",
                                            "solution": "Request a new sell quote."
                                        },
                                        "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 data (IBAN, BIC, payment description, etc) for the DCA.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DcaCodeResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/exists": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to check if a user exists.",
                "operationId": "get_app_v1_user_exists_exists",
                "parameters": [
                    {
                        "name": "emailAddress",
                        "in": "query",
                        "description": "The user's email.",
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExistsRequest"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER003",
                                                "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."
                                        },
                                        "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 exists."
                    },
                    "404": {
                        "description": "User does not exist."
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v1/user/identity-document": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Add an identity document to a registered user.",
                "description": "This endpoint is used to upload identity documents for a registered user.",
                "operationId": "post_app_v1_user_identitydocument_create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/V1RequestUserIdentityDocument"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER067",
                                                "ER074",
                                                "ER075",
                                                "ER076",
                                                "ER077",
                                                "ER078",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER900",
                                                "ER901",
                                                "ER902",
                                                "ER903",
                                                "ER904",
                                                "ER905",
                                                "ER906",
                                                "ER907",
                                                "ER908",
                                                "ER909",
                                                "ER910",
                                                "ER911",
                                                "ER912",
                                                "ER913",
                                                "ER914",
                                                "ER915",
                                                "ER916",
                                                "ER917",
                                                "ER918",
                                                "ER919",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER067": {
                                            "code": "ER067",
                                            "message": "No identity document type provided.",
                                            "solution": "Provide a valid identity document type."
                                        },
                                        "ER074": {
                                            "code": "ER074",
                                            "message": "Invalid identity document type provided.",
                                            "solution": "Provide a valid identity document type."
                                        },
                                        "ER075": {
                                            "code": "ER075",
                                            "message": "Missing document side.",
                                            "solution": "Provide a document side."
                                        },
                                        "ER076": {
                                            "code": "ER076",
                                            "message": "Invalid document side provided.",
                                            "solution": "Provide a valid document side."
                                        },
                                        "ER077": {
                                            "code": "ER077",
                                            "message": "Missing image data.",
                                            "solution": "Provide base64 encoded binary image data."
                                        },
                                        "ER078": {
                                            "code": "ER078",
                                            "message": "Invalid image data provided.",
                                            "solution": "Provide valid base64 encoded binary image data."
                                        },
                                        "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."
                                        },
                                        "ER900": {
                                            "code": "ER900",
                                            "message": "The file could not be uploaded.",
                                            "solution": "Contact our support team."
                                        },
                                        "ER901": {
                                            "code": "ER901",
                                            "message": "The file is not readable.",
                                            "solution": "Contact our support team."
                                        },
                                        "ER902": {
                                            "code": "ER902",
                                            "message": "The file is too large.",
                                            "solution": "Upload a smaller file."
                                        },
                                        "ER903": {
                                            "code": "ER903",
                                            "message": "The file mime type is not allowed.",
                                            "solution": "Upload a file with an allowed mime type."
                                        },
                                        "ER904": {
                                            "code": "ER904",
                                            "message": "An empty file is not allowed.",
                                            "solution": "Upload a file which is not empty."
                                        },
                                        "ER905": {
                                            "code": "ER905",
                                            "message": "The file was only partially uploaded.",
                                            "solution": "Upload the file entirely."
                                        },
                                        "ER906": {
                                            "code": "ER906",
                                            "message": "No file was uploaded.",
                                            "solution": "Upload a file."
                                        },
                                        "ER907": {
                                            "code": "ER907",
                                            "message": "The file is not a valid image.",
                                            "solution": "Upload a valid image file."
                                        },
                                        "ER908": {
                                            "code": "ER908",
                                            "message": "The image is too wide.",
                                            "solution": "Upload an image of a valid width."
                                        },
                                        "ER909": {
                                            "code": "ER909",
                                            "message": "The image is not wide enough.",
                                            "solution": "Upload an image of a valid width."
                                        },
                                        "ER910": {
                                            "code": "ER910",
                                            "message": "The image is too high.",
                                            "solution": "Upload an image of a valid height."
                                        },
                                        "ER911": {
                                            "code": "ER911",
                                            "message": "The image is not high enough.",
                                            "solution": "Upload an image of a valid height."
                                        },
                                        "ER912": {
                                            "code": "ER912",
                                            "message": "The image has too few pixels.",
                                            "solution": "Upload an image which has a valid amount of pixels."
                                        },
                                        "ER913": {
                                            "code": "ER913",
                                            "message": "The image has too many pixels.",
                                            "solution": "Upload an image which has a valid amount of pixels."
                                        },
                                        "ER914": {
                                            "code": "ER914",
                                            "message": "The image ratio is too high.",
                                            "solution": "Upload an image which has a valid ratio."
                                        },
                                        "ER915": {
                                            "code": "ER915",
                                            "message": "The image ratio is too low.",
                                            "solution": "Upload an image which has a valid ratio."
                                        },
                                        "ER916": {
                                            "code": "ER916",
                                            "message": "The image cannot be landscape oriented.",
                                            "solution": "Upload an image which is portrait oriented."
                                        },
                                        "ER917": {
                                            "code": "ER917",
                                            "message": "The image cannot be portrait oriented.",
                                            "solution": "Upload an image which is landscape oriented."
                                        },
                                        "ER918": {
                                            "code": "ER918",
                                            "message": "The image is corrupted.",
                                            "solution": "Upload an image which is is not corrupted."
                                        },
                                        "ER919": {
                                            "code": "ER919",
                                            "message": "Cannot write temporary file to disk.",
                                            "solution": "Try again. Contact our support team if the problem persists."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "User identity document uploaded successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserInfo"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/info": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to retrieve information about a user.",
                "operationId": "get_app_v1_user_info_info",
                "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 information retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserInfo"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/levels": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint returns all available verification levels with their limits, so we can easily display them in the frontend.",
                "operationId": "get_app_v1_user_levels_levels",
                "responses": {
                    "200": {
                        "description": "Verification levels retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Level"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/login": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to authenticate a user, and retrieve a token to use in endpoints which require an authenticated user.",
                "operationId": "post_app_v1_user_login_login",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "emailAddress": {
                                        "description": "Email address of the user.",
                                        "type": "string",
                                        "example": "mail@example.com"
                                    },
                                    "password": {
                                        "description": "Password of the user.",
                                        "type": "string",
                                        "example": "kDWPe4qf$&mgM26&8hX"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER003",
                                                "ER004",
                                                "ER005",
                                                "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."
                                        },
                                        "ER004": {
                                            "code": "ER004",
                                            "message": "No password provided.",
                                            "solution": "Provide the password of the user."
                                        },
                                        "ER005": {
                                            "code": "ER005",
                                            "message": "Invalid login details provided.",
                                            "solution": "Tell the user to provide valid authentication details, or inform them about the 'forgot password' functionality."
                                        },
                                        "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 logged in successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserToken"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v1/user/login-token": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to retrieve a login token and the uuid for a user.",
                "description": "This endpoint provides a token and uuid for the user, these can be used once to automatically login on the secured parts of our website.\nFor example, to continue their KYC process, upgrade their account or contact support. For more information, please see the description of the system/info endpoint.",
                "operationId": "get_app_v1_user_logintoken_logintoken",
                "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 token generated successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserLoginToken"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/logout": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to log a user out.",
                "operationId": "post_app_v1_user_logout_logout",
                "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",
                                                "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."
                                        },
                                        "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 out successfully."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/register": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "(deprecated) This endpoint can be used to automatically register a user.",
                "description": "<code>DEPRECATED</code>: Please use <code>POST /api/v2/user</code>.\n\nTake note to send only valid website locales. See the list of supported locales in the model V1\\System\\WebsiteLocale below.",
                "operationId": "post_app_v1_user_register_register",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/V1RequestUserRegistration"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER003",
                                                "ER023",
                                                "ER024",
                                                "ER053",
                                                "ER058",
                                                "ER059",
                                                "ER060",
                                                "ER061",
                                                "ER064",
                                                "ER067",
                                                "ER068",
                                                "ER069",
                                                "ER070",
                                                "ER071",
                                                "ER072",
                                                "ER073",
                                                "ER074",
                                                "ER080",
                                                "ER081",
                                                "ER082",
                                                "ER083",
                                                "ER084",
                                                "ER121",
                                                "ER126",
                                                "ER127",
                                                "ER128",
                                                "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."
                                        },
                                        "ER003": {
                                            "code": "ER003",
                                            "message": "No email address provided.",
                                            "solution": "Provide a valid email address."
                                        },
                                        "ER023": {
                                            "code": "ER023",
                                            "message": "No first name provided.",
                                            "solution": "Provide a first name."
                                        },
                                        "ER024": {
                                            "code": "ER024",
                                            "message": "No last name provided.",
                                            "solution": "Provide a last name."
                                        },
                                        "ER053": {
                                            "code": "ER053",
                                            "message": "Missing identifier.",
                                            "solution": "Provide a valid identifier."
                                        },
                                        "ER058": {
                                            "code": "ER058",
                                            "message": "No phone number provided.",
                                            "solution": "Provide a valid phone number."
                                        },
                                        "ER059": {
                                            "code": "ER059",
                                            "message": "Invalid phone number provided.",
                                            "solution": "Provide a valid phone number."
                                        },
                                        "ER060": {
                                            "code": "ER060",
                                            "message": "No ISO 3166-1 alpha-2 country code provided.",
                                            "solution": "Provide a valid ISO 3166-1 alpha-2 country code."
                                        },
                                        "ER061": {
                                            "code": "ER061",
                                            "message": "Invalid ISO 3166-1 alpha-2 country code provided.",
                                            "solution": "Provide a valid ISO 3166-1 alpha-2 country code."
                                        },
                                        "ER064": {
                                            "code": "ER064",
                                            "message": "Invalid business country code provided.",
                                            "solution": "Provide a valid business country code."
                                        },
                                        "ER067": {
                                            "code": "ER067",
                                            "message": "No identity document type provided.",
                                            "solution": "Provide a valid identity document type."
                                        },
                                        "ER068": {
                                            "code": "ER068",
                                            "message": "No identity document number provided.",
                                            "solution": "Provide a valid identity document number."
                                        },
                                        "ER069": {
                                            "code": "ER069",
                                            "message": "No identity document country provided.",
                                            "solution": "Provide a valid identity document country."
                                        },
                                        "ER070": {
                                            "code": "ER070",
                                            "message": "No identity document first names provided.",
                                            "solution": "Provide the first names as they appear on the identity document."
                                        },
                                        "ER071": {
                                            "code": "ER071",
                                            "message": "No identity document last name provided.",
                                            "solution": "Provide the last name as it appears on the identity document."
                                        },
                                        "ER072": {
                                            "code": "ER072",
                                            "message": "No date of birth provided.",
                                            "solution": "Provide a valid date of birth."
                                        },
                                        "ER073": {
                                            "code": "ER073",
                                            "message": "Invalid date of birth provided.",
                                            "solution": "Provide a valid date of birth."
                                        },
                                        "ER074": {
                                            "code": "ER074",
                                            "message": "Invalid identity document type provided.",
                                            "solution": "Provide a valid identity document type."
                                        },
                                        "ER080": {
                                            "code": "ER080",
                                            "message": "No website language provided.",
                                            "solution": "Provide a valid website language."
                                        },
                                        "ER081": {
                                            "code": "ER081",
                                            "message": "Invalid website language provided.",
                                            "solution": "Provide a valid website language."
                                        },
                                        "ER082": {
                                            "code": "ER082",
                                            "message": "No website country provided.",
                                            "solution": "Provide a valid website country."
                                        },
                                        "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."
                                        },
                                        "ER121": {
                                            "code": "ER121",
                                            "message": "Invalid Chamber of Commerce number provided.",
                                            "solution": "Provide a valid, Chamber of Commerce number."
                                        },
                                        "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."
                                        },
                                        "ER128": {
                                            "code": "ER128",
                                            "message": "Invalid identity document number provided.",
                                            "solution": "Provide a valid identity document number."
                                        },
                                        "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 retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserInfo"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v1/user/register-identifier": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "This endpoint can be used to register a new user identifier.",
                "description": "This endpoint registers a user identifier and returns a URL to register an account which will be linked to the\nregistered identifier.",
                "operationId": "post_app_v1_user_registeridentifier_registeruseridentifier",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/V1RequestUserUserIdentifierRegistration"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER053",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER053": {
                                            "code": "ER053",
                                            "message": "Missing identifier.",
                                            "solution": "Provide a valid 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 identifier registered successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserUserIdentifierRegistration"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v1/user/reset-password": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Requests a password reset token for the user account that matches the supplied email address. This token is sent to\nthe email address of the user.",
                "operationId": "post_app_v1_user_resetpassword_requestpasswordresetemail",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "emailAddress": {
                                        "description": "Email address of the user.",
                                        "type": "string",
                                        "example": "mail@example.com"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER003",
                                                "ER354",
                                                "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."
                                        },
                                        "ER354": {
                                            "code": "ER354",
                                            "message": "Failed to request a password reset token",
                                            "solution": "Try again later, or contact support if problems continue"
                                        },
                                        "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": "Password reset token was requested successfully."
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "User"
                ],
                "summary": "Resets the password of the user account that matches the email address. If the reset was successful the user\nwill receive an email with the confirmation.",
                "operationId": "patch_app_v1_user_resetpassword_resetuserpasswordwithtoken",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "emailAddress": {
                                        "description": "Email address of the user to change the password for.",
                                        "type": "string",
                                        "example": "mail@example.com"
                                    },
                                    "password": {
                                        "description": "New password of the user.",
                                        "type": "string",
                                        "example": "kDWPe4qf$&mgM26&8hX"
                                    },
                                    "passwordVerify": {
                                        "description": "Password to verify the new password against.",
                                        "type": "string",
                                        "example": "kDWPe4qf$&mgM26&8hX"
                                    },
                                    "token": {
                                        "description": "Token that was issued to the user to allow to change their password with.",
                                        "type": "string",
                                        "example": "c6e8c445c10ed381b7f05e8a070a69a4"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER001",
                                                "ER003",
                                                "ER004",
                                                "ER122",
                                                "ER123",
                                                "ER349",
                                                "ER350",
                                                "ER351",
                                                "ER352",
                                                "ER353",
                                                "ER354",
                                                "ER355",
                                                "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."
                                        },
                                        "ER004": {
                                            "code": "ER004",
                                            "message": "No password provided.",
                                            "solution": "Provide the password of the user."
                                        },
                                        "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."
                                        },
                                        "ER349": {
                                            "code": "ER349",
                                            "message": "Password isn't strong enough, or has been found in a data breach.",
                                            "solution": "Provide a new password. We encourage the use of a password manager to create and store strong passwords."
                                        },
                                        "ER350": {
                                            "code": "ER350",
                                            "message": "Password does not match the confirmation password.",
                                            "solution": "Provide a matching confirmation password."
                                        },
                                        "ER351": {
                                            "code": "ER351",
                                            "message": "Password reset token is missing from the request.",
                                            "solution": "Provide a valid password reset token."
                                        },
                                        "ER352": {
                                            "code": "ER352",
                                            "message": "Password reset token is invalid.",
                                            "solution": "Provide a valid password reset token or request a new one."
                                        },
                                        "ER353": {
                                            "code": "ER353",
                                            "message": "Password reset token has expired.",
                                            "solution": "Request a new password reset token."
                                        },
                                        "ER354": {
                                            "code": "ER354",
                                            "message": "Failed to request a password reset token",
                                            "solution": "Try again later, or contact support if problems continue"
                                        },
                                        "ER355": {
                                            "code": "ER355",
                                            "message": "There was a technical problem sending the confirmation email that your password was reset successfully.",
                                            "solution": "Your password has been reset. If you still wish to receive a confirmation email, please reset your password again. If you have any questions, feel free to contact support."
                                        },
                                        "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": "Password reset was successful."
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        },
        "/api/v1/user/sell/orders/{id}": {
            "get": {
                "tags": [
                    "User/Sell"
                ],
                "summary": "This endpoint can be used to retrieve the status of an order.",
                "operationId": "get_app_v1_user_sell_order_order",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id or the partner order identifier of the order to retrieve.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "returnReceived",
                        "in": "query",
                        "description": "Will return the crypto amount that has been received thus far and the fiat amount into the `price` and `value` fields.",
                        "required": false,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        },
                        "example": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order status retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1UserSellOrder"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER033",
                                                "ER034",
                                                "ER035",
                                                "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": {
                                        "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."
                                        },
                                        "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."
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/sell/orders": {
            "get": {
                "tags": [
                    "User/Sell"
                ],
                "summary": "This endpoint can be used to get a listing of all orders.",
                "operationId": "get_app_v1_user_sell_orders_orders",
                "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": "Returns a listing of all orders.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/V1UserSellOrder"
                                    },
                                    "maxItems": 10,
                                    "uniqueItems": true
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/sell/orders/{id}/transaction-info": {
            "get": {
                "tags": [
                    "User/Sell"
                ],
                "summary": "This endpoint can be used to retrieve transaction info of an order.",
                "operationId": "get_app_v1_user_sell_transactioninfo_readtransactioninfo",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id or partner order identifier of the order to retrieve the transaction info for.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Transaction info retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionInfoResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER094",
                                                "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": {
                                        "ER094": {
                                            "code": "ER094",
                                            "message": "No transaction info found for this order.",
                                            "solution": "Provide transaction info for this order first, or try a different order."
                                        },
                                        "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."
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "User/Sell"
                ],
                "summary": "This endpoint can be used to store a transaction id of an order.",
                "operationId": "post_app_v1_user_sell_transactioninfo_createtransactioninfo",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id or partner order identifier of the order to store the transaction info for.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {},
                            "example": {
                                "transactionId": "8ae994e962f3014cf2ddf05fc7f86972977f5fb6327b74b81ae94ed61417d61f"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER034",
                                                "ER035",
                                                "ER095",
                                                "ER096",
                                                "ER097",
                                                "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": {
                                        "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."
                                        },
                                        "ER095": {
                                            "code": "ER095",
                                            "message": "No transaction id provided.",
                                            "solution": "Provide a valid transaction id for the currency of the order."
                                        },
                                        "ER096": {
                                            "code": "ER096",
                                            "message": "Invalid transaction id provided.",
                                            "solution": "Provide a valid transaction id for the currency of the order."
                                        },
                                        "ER097": {
                                            "code": "ER097",
                                            "message": "An error occurred while saving the transaction info.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "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": "Transaction ID stored succesfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionInfoResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "User/Sell"
                ],
                "summary": "This endpoint can be used to update the transaction id of an order.",
                "operationId": "patch_app_v1_user_sell_transactioninfo_updatetransactioninfo",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id or partner order identifier of the order to update the transaction info for.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {},
                            "example": {
                                "transactionId": "8ae994e962f3014cf2ddf05fc7f86972977f5fb6327b74b81ae94ed61417d61f"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER034",
                                                "ER035",
                                                "ER094",
                                                "ER095",
                                                "ER096",
                                                "ER097",
                                                "ER098",
                                                "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": {
                                        "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."
                                        },
                                        "ER094": {
                                            "code": "ER094",
                                            "message": "No transaction info found for this order.",
                                            "solution": "Provide transaction info for this order first, or try a different order."
                                        },
                                        "ER095": {
                                            "code": "ER095",
                                            "message": "No transaction id provided.",
                                            "solution": "Provide a valid transaction id for the currency of the order."
                                        },
                                        "ER096": {
                                            "code": "ER096",
                                            "message": "Invalid transaction id provided.",
                                            "solution": "Provide a valid transaction id for the currency of the order."
                                        },
                                        "ER097": {
                                            "code": "ER097",
                                            "message": "An error occurred while saving the transaction info.",
                                            "solution": "Please contact support for assistance."
                                        },
                                        "ER098": {
                                            "code": "ER098",
                                            "message": "Transaction info already present for this order.",
                                            "solution": "In order to update the transaction info, send a PATCH request."
                                        },
                                        "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": "Transaction ID updated successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionInfoResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/amld5": {
            "get": {
                "tags": [
                    "User/Verify"
                ],
                "summary": "This endpoint supplies the questions that users have to answer regarding the Anti-Money Laundering Directive (AMLD5).",
                "description": "The user has to pick one of the answer options for each question. Answers can then be posted to the POST /api/v1/user/verify/amld5 endpoint.",
                "operationId": "get_app_v1_user_verification_amld5_verifyamld5_getquestions",
                "parameters": [
                    {
                        "name": "locale",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/GetQuestionsRequest"
                        }
                    }
                ],
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER099",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER099": {
                                            "code": "ER099",
                                            "message": "Invalid locale provided.",
                                            "solution": "Provide a valid locale."
                                        },
                                        "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": "AMLD5 questions retrieved successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetQuestionsResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "User/Verify"
                ],
                "summary": "This endpoint can be used to submit the answers to the questions regarding the Anti-Money Laundering Directive (AMLD5).",
                "description": "The user has to provide one of the answer options for each question. For a list of the questions see the GET /api/v1/user/verify/amld5 endpoint.",
                "operationId": "post_app_v1_user_verification_amld5_verifyamld5_postanswers",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            },
                            "example": [
                                {
                                    "key": "mainSourceOfIncome",
                                    "answer": "Salary"
                                },
                                {
                                    "key": "annualNetIncome",
                                    "answer": "From 10.000 to 30.000"
                                },
                                {
                                    "key": "employmentStatus",
                                    "answer": "Employed"
                                }
                            ]
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER100",
                                                "ER101",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER999"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "solution": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "message",
                                        "solution"
                                    ]
                                },
                                "example": {
                                    "errors": {
                                        "ER100": {
                                            "code": "ER100",
                                            "message": "Missing or malformed AMLD5 answers.",
                                            "solution": "Provide well-formed AMLD5 answers with correct keys."
                                        },
                                        "ER101": {
                                            "code": "ER101",
                                            "message": "Invalid AMLD5 answer provided.",
                                            "solution": "Provide valid, supported answers for all questions."
                                        },
                                        "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": "AMLD5 answers submitted successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserInfo"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/card": {
            "post": {
                "tags": [
                    "User/Verify"
                ],
                "summary": "Start card verification process for the authenticated user.",
                "operationId": "post_app_v1_user_verification_card_verifycard_startverification",
                "requestBody": {
                    "description": "Account identifier for card verification",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StartVerification2"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER048",
                                                "ER380",
                                                "ER396",
                                                "ER397",
                                                "ER398",
                                                "ER399",
                                                "ER400",
                                                "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": {
                                        "ER048": {
                                            "code": "ER048",
                                            "message": "Invalid JSON data provided.",
                                            "solution": "Provide valid JSON data."
                                        },
                                        "ER380": {
                                            "code": "ER380",
                                            "message": "Invalid account identifier.",
                                            "solution": "Provide a valid account identifier."
                                        },
                                        "ER396": {
                                            "code": "ER396",
                                            "message": "Account not found.",
                                            "solution": "Provide a valid account identifier that belongs to the authenticated user."
                                        },
                                        "ER397": {
                                            "code": "ER397",
                                            "message": "Account is disabled.",
                                            "solution": "This account has been disabled and cannot be used for verification."
                                        },
                                        "ER398": {
                                            "code": "ER398",
                                            "message": "Account is already verified.",
                                            "solution": "This account has already been verified and does not require further verification."
                                        },
                                        "ER399": {
                                            "code": "ER399",
                                            "message": "Cardholder name is missing on the account.",
                                            "solution": "Ensure the account has a cardholder name before requesting verification."
                                        },
                                        "ER400": {
                                            "code": "ER400",
                                            "message": "Unable to start card verification.",
                                            "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."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Card verification process started successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CardVerificationActionResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/email/request-code": {
            "post": {
                "tags": [
                    "User/Verify"
                ],
                "summary": "Request an e-mail verification code.",
                "operationId": "post_app_v1_user_verification_email_verifyemail_requestcode",
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER091",
                                                "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": {
                                        "ER091": {
                                            "code": "ER091",
                                            "message": "User email address is already verified.",
                                            "solution": "Do not perform email verification for a user whose email address is already verified."
                                        },
                                        "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": "Email verification code was sent to the user successfully."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/email/verify-code": {
            "post": {
                "tags": [
                    "User/Verify"
                ],
                "summary": "Verify the user's e-mail address using their verification code.",
                "operationId": "post_app_v1_user_verification_email_verifyemail_verifycode",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyCodeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER048",
                                                "ER089",
                                                "ER090",
                                                "ER091",
                                                "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": {
                                        "ER048": {
                                            "code": "ER048",
                                            "message": "Invalid JSON data provided.",
                                            "solution": "Provide valid JSON data."
                                        },
                                        "ER089": {
                                            "code": "ER089",
                                            "message": "No email verification code provided.",
                                            "solution": "Provide a valid email verification code."
                                        },
                                        "ER090": {
                                            "code": "ER090",
                                            "message": "Invalid email verification code.",
                                            "solution": "Provide a valid email verification code."
                                        },
                                        "ER091": {
                                            "code": "ER091",
                                            "message": "User email address is already verified.",
                                            "solution": "Do not perform email verification for a user whose email address is already verified."
                                        },
                                        "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": "Email verified successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V1ResponseUserInfo"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/iban/photo": {
            "post": {
                "tags": [
                    "User/Verify/Iban"
                ],
                "summary": "Starts a session through which a user can verify their IBAN by uploading a photo of their IBAN account number.",
                "operationId": "post_app_v1_user_verification_iban_verifyiban_throughphoto",
                "requestBody": {
                    "description": "The IBAN verifiation request containing the image data, the name of the user and the IBAN to verify.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ImageIbanVerificationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER056",
                                                "ER057",
                                                "ER077",
                                                "ER078",
                                                "ER086",
                                                "ER087",
                                                "ER088",
                                                "ER113",
                                                "ER185",
                                                "ER186",
                                                "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."
                                        },
                                        "ER057": {
                                            "code": "ER057",
                                            "message": "No account holder provided.",
                                            "solution": "Provide an account holder."
                                        },
                                        "ER077": {
                                            "code": "ER077",
                                            "message": "Missing image data.",
                                            "solution": "Provide base64 encoded binary image data."
                                        },
                                        "ER078": {
                                            "code": "ER078",
                                            "message": "Invalid image data provided.",
                                            "solution": "Provide valid base64 encoded binary image data."
                                        },
                                        "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."
                                        },
                                        "ER087": {
                                            "code": "ER087",
                                            "message": "Unknown IBAN account provided.",
                                            "solution": "Provide a known IBAN account. A list of valid accounts can be retrieved from /api/v1/user/info."
                                        },
                                        "ER088": {
                                            "code": "ER088",
                                            "message": "No IBAN account provided.",
                                            "solution": "Provide a known 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."
                                        },
                                        "ER185": {
                                            "code": "ER185",
                                            "message": "Missing IBAN owner name.",
                                            "solution": "Provide a valid IBAN owner name."
                                        },
                                        "ER186": {
                                            "code": "ER186",
                                            "message": "Missing IBAN ownership proof.",
                                            "solution": "Upload valid IBAN ownership."
                                        },
                                        "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."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "The IBAN verification request was successfully accepted."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/iban/bank-transfer": {
            "post": {
                "tags": [
                    "User/Verify/Iban"
                ],
                "summary": "Starts a bank transfer payment through which a user can verify their IBAN account number.",
                "operationId": "post_app_v1_user_verification_iban_verifyiban_throughbanktransfer",
                "requestBody": {
                    "description": "The IBAN verification request containing the return url. ",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyIbanThroughPaymentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER362",
                                                "ER363",
                                                "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": {
                                        "ER362": {
                                            "code": "ER362",
                                            "message": "Missing return url value.",
                                            "solution": "Add a return url to the body."
                                        },
                                        "ER363": {
                                            "code": "ER363",
                                            "message": "Invalid return url value.",
                                            "solution": "Provide a valid return url."
                                        },
                                        "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": "Request for bank transfer verification succeeded. Response contains bank account details that should be used to complete the IBAN verification through a bank transfer.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IbanVerifyThroughPaymentBankTransferResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/iban/ideal": {
            "post": {
                "tags": [
                    "User/Verify/Iban"
                ],
                "summary": "Starts a payment through iDeal or Sofort which a user can verify their IBAN account number.",
                "operationId": "post_app_v1_user_verification_iban_verifyiban_throughredirectpayment",
                "requestBody": {
                    "description": "The IBAN verification request containing the return url. ",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyIbanThroughPaymentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER362",
                                                "ER363",
                                                "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": {
                                        "ER362": {
                                            "code": "ER362",
                                            "message": "Missing return url value.",
                                            "solution": "Add a return url to the body."
                                        },
                                        "ER363": {
                                            "code": "ER363",
                                            "message": "Invalid return url value.",
                                            "solution": "Provide a valid return url."
                                        },
                                        "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": "Returns an object containing a URL where the user can complete the payment to verify the IBAN.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IbanVerifyThroughPaymentRedirectResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/iban/sofort": {
            "post": {
                "tags": [
                    "User/Verify/Iban"
                ],
                "summary": "Starts a payment through iDeal or Sofort which a user can verify their IBAN account number.",
                "operationId": "post_app_v1_user_verification_iban_verifyiban_throughredirectpayment_1",
                "requestBody": {
                    "description": "The IBAN verification request containing the return url. ",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyIbanThroughPaymentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER362",
                                                "ER363",
                                                "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": {
                                        "ER362": {
                                            "code": "ER362",
                                            "message": "Missing return url value.",
                                            "solution": "Add a return url to the body."
                                        },
                                        "ER363": {
                                            "code": "ER363",
                                            "message": "Invalid return url value.",
                                            "solution": "Provide a valid return url."
                                        },
                                        "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": "Returns an object containing a URL where the user can complete the payment to verify the IBAN.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IbanVerifyThroughPaymentRedirectResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/paypal": {
            "post": {
                "tags": [
                    "User/Verify"
                ],
                "operationId": "post_app_v1_user_verification_paypal_verifypaypal_startverification",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StartVerification"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER393",
                                                "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": {
                                        "ER393": {
                                            "code": "ER393",
                                            "message": "Token cannot be an empty string.",
                                            "solution": "Provide a valid token."
                                        },
                                        "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."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "The PayPal verification process has been started successfully."
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/user/verify/wallet-address": {
            "post": {
                "tags": [
                    "User/Verify"
                ],
                "summary": "Verify a wallet address of the user.",
                "operationId": "post_app_v1_user_verification_walletaddress_verifywalletaddress_verifywalletaddress",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyWalletAddressRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "A list of possible errors for this endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "ER014",
                                                "ER015",
                                                "ER048",
                                                "ER109",
                                                "ER117",
                                                "ER118",
                                                "ER700",
                                                "ER701",
                                                "ER702",
                                                "ER703",
                                                "ER704",
                                                "ER705",
                                                "ER706",
                                                "ER707",
                                                "ER708",
                                                "ER709",
                                                "ER800",
                                                "ER801",
                                                "ER802",
                                                "ER803",
                                                "ER805",
                                                "ER806",
                                                "ER900",
                                                "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."
                                        },
                                        "ER048": {
                                            "code": "ER048",
                                            "message": "Invalid JSON data provided.",
                                            "solution": "Provide valid JSON data."
                                        },
                                        "ER109": {
                                            "code": "ER109",
                                            "message": "No currency provided.",
                                            "solution": "Provide a supported currency."
                                        },
                                        "ER117": {
                                            "code": "ER117",
                                            "message": "Destination tag not supported for this currency.",
                                            "solution": "Leave the destination tag empty."
                                        },
                                        "ER118": {
                                            "code": "ER118",
                                            "message": "Did not receive all required fields.",
                                            "solution": "Please provide a valid currency, wallet address and optionally a destination tag."
                                        },
                                        "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."
                                        },
                                        "ER900": {
                                            "code": "ER900",
                                            "message": "The file could not be uploaded.",
                                            "solution": "Contact our support team."
                                        },
                                        "ER999": {
                                            "code": "ER999",
                                            "message": "A general error has occurred. Please contact our support team.",
                                            "solution": "Contact our support team."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Wallet verification successfully requested.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerifyWalletAddressResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Client": []
                    },
                    {
                        "User": []
                    }
                ]
            }
        },
        "/api/v1/validate/wallet-address": {
            "get": {
                "tags": [
                    "Validate"
                ],
                "summary": "Tells whether the given wallet address is valid.",
                "operationId": "get_app_v1_validate_validatewalletaddress_validate",
                "parameters": [
                    {
                        "name": "walletAddress",
                        "in": "query",
                        "description": "The wallet address to verify",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "description": "The currency to verify",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "BTC"
                    },
                    {
                        "name": "destinationTag",
                        "in": "query",
                        "description": "The memo or destination tag",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "ABC12345"
                    }
                ],
                "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",
                                                "ER114",
                                                "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."
                                        },
                                        "ER114": {
                                            "code": "ER114",
                                            "message": "Unsupported currency provided.",
                                            "solution": "Provide a supported currency."
                                        },
                                        "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": "Validation succeeded."
                    }
                },
                "security": [
                    {
                        "Client": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "V1UserTradeLimits": {
                "properties": {
                    "buy": {
                        "$ref": "#/components/schemas/V1UserTradeLimit"
                    },
                    "sell": {
                        "$ref": "#/components/schemas/V1UserTradeLimit"
                    }
                },
                "type": "object"
            },
            "V1UserTradeLimit": {
                "properties": {
                    "limit": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "remaining": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "interval": {
                        "description": "The interval of the trade limit.",
                        "type": "string",
                        "example": "P1D"
                    }
                },
                "type": "object"
            },
            "V1UserStatusDetails": {
                "properties": {
                    "amld5VerificationStatus": {
                        "description": "Status of the AMLD5 verification.",
                        "type": "string",
                        "enum": [
                            "open",
                            "verified"
                        ],
                        "example": "verified"
                    },
                    "emailAddressVerificationStatus": {
                        "description": "Status of the email address verification.",
                        "type": "string",
                        "enum": [
                            "open",
                            "pending",
                            "failed",
                            "verified"
                        ],
                        "example": "verified"
                    },
                    "identityVerificationStatus": {
                        "description": "Status of the identity verification.",
                        "type": "string",
                        "enum": [
                            "open",
                            "pending",
                            "failed",
                            "verified"
                        ],
                        "example": "pending"
                    },
                    "privacyAgreementVerificationStatus": {
                        "description": "Status of the acceptance of the privacy agreement.",
                        "type": "string",
                        "enum": [
                            "open",
                            "pending",
                            "failed",
                            "verified"
                        ],
                        "example": "failed"
                    },
                    "identityDocumentVerificationStatus": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/V1UserIdentityDocumentStatus"
                        }
                    },
                    "residentialAddressVerificationStatus": {
                        "description": "Status of the residential address verification.",
                        "type": "string",
                        "enum": [
                            "missing",
                            "present"
                        ],
                        "example": "present"
                    }
                },
                "type": "object"
            },
            "V1UserStatus": {
                "properties": {
                    "status": {
                        "description": "The validation status.",
                        "type": "string",
                        "enum": [
                            "pending",
                            "validated",
                            "not-validated",
                            "blocked"
                        ],
                        "example": "blocked"
                    },
                    "description": {
                        "description": "Description of the validation status.",
                        "type": "string",
                        "example": "Identification process did not succeed."
                    },
                    "details": {
                        "$ref": "#/components/schemas/V1UserStatusDetails"
                    }
                },
                "type": "object"
            },
            "V1UserSellOrder": {
                "required": [
                    "id",
                    "date",
                    "price",
                    "value",
                    "currencyPair",
                    "status",
                    "feeAmount",
                    "paymentMethodFee",
                    "networkFee",
                    "btcdirectFee",
                    "orderNotCompletedReasons",
                    "bankAccount",
                    "quotedCrypto",
                    "quotedFiat"
                ],
                "properties": {
                    "id": {
                        "description": "The order id.",
                        "type": "integer",
                        "example": 12345
                    },
                    "date": {
                        "description": "The date and time of the order.",
                        "type": "string",
                        "format": "date-time",
                        "example": "2019-06-18T07:32:28Z"
                    },
                    "currencyPair": {
                        "description": "The currency pair of the order.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "status": {
                        "description": "The current status of the order.",
                        "type": "string",
                        "enum": [
                            "cancelled",
                            "pending",
                            "in progress",
                            "blocked",
                            "completed",
                            "refunded"
                        ],
                        "example": "completed"
                    },
                    "feeAmount": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "partnerFee": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "feePercentage": {
                        "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/V1FiatMoney"
                    },
                    "networkFee": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "btcdirectFee": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "partnerOrderIdentifier": {
                        "description": "Unique identifier provided by the partner.",
                        "type": "string",
                        "example": "4ea2b5e9-a413-4359-a8f6-9263ae8a0ee7",
                        "nullable": true
                    },
                    "spreadFee": {
                        "description": "U",
                        "type": "string",
                        "default": null,
                        "example": {
                            "amount": 0.42,
                            "currencyCode": "EUR"
                        },
                        "nullable": true
                    },
                    "orderNotCompletedReasons": {
                        "description": "reasons as of why the order is not yet completed.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/OrderNotCompletedReason"
                        },
                        "default": [],
                        "example": [
                            {
                                "code": "011",
                                "description": "Your IBAN account is not verified.",
                                "solution": "Verify your IBAN account.",
                                "url": "https://my.btcdirect.eu/nl-nl/iban-verification/",
                                "userActionRequired": true,
                                "supportActionRequired": false
                            }
                        ]
                    },
                    "price": {
                        "$ref": "#/components/schemas/V1CryptoMoney"
                    },
                    "value": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "walletAddress": {
                        "description": "The address to which the coins should be sent.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
                        "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
                    },
                    "blockchainInfo": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/BlockChainInfo"
                            }
                        ],
                        "nullable": true,
                        "description": "The blockchain information involved in this order.",
                        "example": {
                            "walletAddress": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
                            "walletExplorer": "https://www.blockchain.com/btc/address/3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
                            "transactionId": "f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6",
                            "transactionExplorer": "https://www.blockchain.com/btc/tx/f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6"
                        }
                    },
                    "bankAccount": {
                        "description": "The IBAN account number to which fiat is paid out to.",
                        "type": "string",
                        "example": "NL37BUNQ2025406444"
                    },
                    "quotedCrypto": {
                        "$ref": "#/components/schemas/V1CryptoMoney"
                    },
                    "quotedFiat": {
                        "$ref": "#/components/schemas/V1CryptoMoney"
                    },
                    "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"
            },
            "V1UserIdentityDocumentStatus": {
                "properties": {
                    "documentType": {
                        "description": "The document type.",
                        "type": "string",
                        "enum": [
                            "Passport",
                            "IdentityCard",
                            "DrivingLicence",
                            "Selfie",
                            "SecondSelfie",
                            "ProofOfResidency",
                            "ResidencePermit",
                            "IbanVerification",
                            "WalletVerification",
                            "LivenessCheck"
                        ],
                        "example": "Passport"
                    },
                    "documentSide": {
                        "description": "The side of the document.",
                        "type": "string",
                        "enum": [
                            "Front",
                            "Back",
                            "Selfie",
                            "SecondSelfie",
                            "ProofOfResidency",
                            "VideoProof"
                        ],
                        "example": "Front"
                    },
                    "status": {
                        "description": "The status of the document.",
                        "type": "string",
                        "enum": [
                            "missing",
                            "pending",
                            "present",
                            "rejected"
                        ],
                        "example": "missing"
                    }
                },
                "type": "object"
            },
            "V1UserBuyOrder": {
                "required": [
                    "id",
                    "date",
                    "price",
                    "value",
                    "currencyPair",
                    "status",
                    "feeAmount",
                    "paymentMethodFee",
                    "networkFee",
                    "btcdirectFee",
                    "orderNotCompletedReasons",
                    "walletAddress"
                ],
                "properties": {
                    "id": {
                        "description": "The order id.",
                        "type": "integer",
                        "example": 12345
                    },
                    "date": {
                        "description": "The date and time of the order.",
                        "type": "string",
                        "format": "date-time",
                        "example": "2019-06-18T07:32:28Z"
                    },
                    "currencyPair": {
                        "description": "The currency pair of the order.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "status": {
                        "description": "The current status of the order.",
                        "type": "string",
                        "enum": [
                            "cancelled",
                            "pending",
                            "in progress",
                            "blocked",
                            "completed",
                            "refunded"
                        ],
                        "example": "completed"
                    },
                    "feeAmount": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "partnerFee": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "feePercentage": {
                        "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/V1FiatMoney"
                    },
                    "networkFee": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "btcdirectFee": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "partnerOrderIdentifier": {
                        "description": "Unique identifier provided by the partner.",
                        "type": "string",
                        "example": "4ea2b5e9-a413-4359-a8f6-9263ae8a0ee7",
                        "nullable": true
                    },
                    "spreadFee": {
                        "description": "U",
                        "type": "string",
                        "default": null,
                        "example": {
                            "amount": 0.42,
                            "currencyCode": "EUR"
                        },
                        "nullable": true
                    },
                    "orderNotCompletedReasons": {
                        "description": "reasons as of why the order is not yet completed.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/OrderNotCompletedReason"
                        },
                        "default": [],
                        "example": [
                            {
                                "code": "011",
                                "description": "Your IBAN account is not verified.",
                                "solution": "Verify your IBAN account.",
                                "url": "https://my.btcdirect.eu/nl-nl/iban-verification/",
                                "userActionRequired": true,
                                "supportActionRequired": false
                            }
                        ]
                    },
                    "price": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "value": {
                        "$ref": "#/components/schemas/V1CryptoMoney"
                    },
                    "paymentMethod": {
                        "description": "The payment method used for the order.",
                        "type": "string",
                        "enum": [
                            "bancontact",
                            "bankTransfer",
                            "creditCard",
                            "eps",
                            "giropay",
                            "iDeal",
                            "sofort",
                            "applepay",
                            "googlepay",
                            "paypal"
                        ],
                        "example": "iDeal"
                    },
                    "walletAddress": {
                        "description": "The address of the wallet.",
                        "type": "string",
                        "example": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2"
                    },
                    "destinationTag": {
                        "description": "The destination tag which should be used to send the coins to. 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
                    },
                    "blockchainInfo": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/BlockChainInfo"
                            }
                        ],
                        "nullable": true,
                        "description": "The blockchain information involved in this order.",
                        "example": {
                            "walletAddress": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
                            "walletExplorer": "https://www.blockchain.com/btc/address/3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
                            "transactionId": "f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6",
                            "transactionExplorer": "https://www.blockchain.com/btc/tx/f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6"
                        }
                    },
                    "isDcaOrder": {
                        "description": "The order was created because of a DCA deposit.",
                        "type": "boolean",
                        "example": false
                    },
                    "isEstimatedQuote": {
                        "description": "The order was created based on a estimated quote.",
                        "type": "boolean",
                        "example": false
                    },
                    "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
                    },
                    "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"
            },
            "V1SystemSellTradeStatus": {
                "properties": {
                    "status": {
                        "description": "Status of trading of this currency pair.",
                        "type": "string",
                        "enum": [
                            "enabled",
                            "disabled"
                        ],
                        "example": "enabled"
                    },
                    "min": {
                        "$ref": "#/components/schemas/V1CryptoMoney"
                    },
                    "max": {
                        "$ref": "#/components/schemas/V1CryptoMoney"
                    },
                    "address": {
                        "$ref": "#/components/schemas/SellTradeAddress"
                    }
                },
                "type": "object"
            },
            "V1SystemPublicUrls": {
                "properties": {
                    "support": {
                        "description": "The URLs to our support system, per locale.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://support.btcdirect.eu/hc/nl",
                            "fr-be": "https://support.btcdirect.eu/hc/fr",
                            "fr-fr": "https://support.btcdirect.eu/hc/fr"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "faq": {
                        "description": "The URLs to our FAQ.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://support.btcdirect.eu/hc/nl",
                            "fr-be": "https://support.btcdirect.eu/hc/fr",
                            "fr-fr": "https://support.btcdirect.eu/hc/fr"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "forgotPassword": {
                        "description": "The URLs to the BTC Direct 'forgot password' page.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/wachtwoord-vergeten",
                            "fr-be": "https://my.btcdirect.eu/fr-be/forgot-password",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/forgot-password"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "privacyPolicy": {
                        "description": "The URLs to the BTC Direct 'privacy policy' page.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/privacy-policy",
                            "fr-be": "https://my.btcdirect.eu/fr-be/privacy-policy",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/privacy-policy"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "register": {
                        "description": "The URLs to our registration page, per locale.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-be/registreren",
                            "fr-be": "https://my.btcdirect.eu/fr-be/s-inscrire",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/s-inscrire"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "termsAndConditions": {
                        "description": "The URLs to the BTC Direct 'terms and conditions' page.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://btcdirect.eu/nl-nl/gebruiksovereenkomst",
                            "fr-be": "https://btcdirect.eu/fr-be/conditions-generales",
                            "fr-fr": "https://btcdirect.eu/fr-fr/conditions-generales"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    }
                },
                "type": "object"
            },
            "V1SystemPrivateUrls": {
                "properties": {
                    "kyc": {
                        "description": "The URLs to our KYC process, per locale.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/register/continue",
                            "fr-be": "https://my.btcdirect.eu/fr-be/register/continue",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/register/continue"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "dashboard": {
                        "description": "The URLs to our dashboard, per locale.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/user/settings",
                            "fr-be": "https://my.btcdirect.eu/fr-be/user/settings",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/user/settings"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "transactions": {
                        "description": "The URLs to the transactions page, per locale.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/user/transactions",
                            "fr-be": "https://my.btcdirect.eu/fr-be/user/transactions",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/user/transactions"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "verifyBankAccount": {
                        "description": "The URLs to start the verification of a bank account, per locale.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/iban-verification",
                            "fr-be": "https://my.btcdirect.eu/fr-be/iban-verification",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/iban-verification"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "dca": {
                        "description": "The URLs to setup a DCA code, per locale.",
                        "type": "object",
                        "example": {
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/dca",
                            "fr-be": "https://my.btcdirect.eu/fr-be/dca",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/dca"
                        },
                        "additionalProperties": {
                            "type": "string"
                        }
                    }
                },
                "type": "object"
            },
            "V1SystemNationality": {
                "properties": {
                    "name": {
                        "description": "The nationality name.",
                        "type": "string",
                        "example": "Austria"
                    },
                    "code": {
                        "description": "The nationality code.",
                        "type": "string",
                        "example": "AT"
                    },
                    "idSelfieRequired": {
                        "description": "Is a selfie id required for this nationality.",
                        "type": "boolean",
                        "example": true
                    }
                },
                "type": "object"
            },
            "V1SystemFiatCurrency": {
                "properties": {
                    "code": {
                        "description": "The currency code.",
                        "type": "string",
                        "example": "EUR"
                    },
                    "name": {
                        "description": "The currency name.",
                        "type": "string",
                        "example": "Euro"
                    },
                    "decimals": {
                        "description": "The precision.",
                        "type": "integer",
                        "example": 2
                    },
                    "caip19": {
                        "type": "string",
                        "default": ""
                    }
                },
                "type": "object"
            },
            "V1SystemCurrencyPair": {
                "properties": {
                    "currencyPair": {
                        "description": "Name of the currency pair.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "baseCurrency": {
                        "$ref": "#/components/schemas/V1SystemCryptoCurrency"
                    },
                    "quoteCurrency": {
                        "$ref": "#/components/schemas/V1SystemFiatCurrency"
                    },
                    "buy": {
                        "$ref": "#/components/schemas/V1SystemBuyTradeStatus"
                    },
                    "sell": {
                        "$ref": "#/components/schemas/V1SystemSellTradeStatus"
                    }
                },
                "type": "object"
            },
            "V1SystemCurrency": {
                "properties": {
                    "code": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "decimals": {
                        "type": "integer"
                    },
                    "caip19": {
                        "type": "string",
                        "default": ""
                    }
                },
                "type": "object"
            },
            "V1SystemCryptoCurrency": {
                "title": "CryptoCurrency",
                "description": "A cryptocurrency representation",
                "required": [
                    "code",
                    "name",
                    "decimals",
                    "supportsTag",
                    "ticker",
                    "chain"
                ],
                "properties": {
                    "code": {
                        "description": "The currency code.",
                        "type": "string",
                        "example": "BTC"
                    },
                    "name": {
                        "description": "The currency name.",
                        "type": "string",
                        "example": "Bitcoin"
                    },
                    "decimals": {
                        "description": "The precision.",
                        "type": "integer",
                        "example": 8
                    },
                    "caip19": {
                        "type": "string",
                        "default": ""
                    },
                    "supportsTag": {
                        "description": "Whether the currency supports a memo or a destination tag.",
                        "type": "boolean",
                        "example": false
                    },
                    "ticker": {
                        "description": "The currency ticker.",
                        "type": "string",
                        "example": "BTC"
                    },
                    "chain": {
                        "description": "The chain through which the currency is delivered.",
                        "type": "string",
                        "default": null,
                        "example": "Solana",
                        "nullable": true
                    },
                    "smartContractAddress": {
                        "description": "The token smart contract address",
                        "type": "string",
                        "default": null,
                        "example": "0x514910771af9ca656af840dff83e8264ecf986ca",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "V1SystemBuyTradeStatus": {
                "properties": {
                    "status": {
                        "description": "Status of trading of this currency pair.",
                        "type": "string",
                        "enum": [
                            "enabled",
                            "disabled"
                        ],
                        "example": "enabled"
                    },
                    "min": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "max": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    }
                },
                "type": "object"
            },
            "V1SellConfirmation": {
                "required": [
                    "orderId",
                    "walletAddress"
                ],
                "properties": {
                    "orderId": {
                        "description": "The order id.",
                        "type": "integer",
                        "example": 1234
                    },
                    "walletAddress": {
                        "description": "The address of the wallet to send the crypto's to.",
                        "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
                    },
                    "orderExpireTime": {
                        "description": "The date and time upto which the user can send the coins, afterwards the received amount will be paid out.",
                        "type": "string",
                        "example": "2020-09-25T12:43:25Z"
                    },
                    "transactionFee": {
                        "description": "The transaction fee that will be subtracted from the estimated payout",
                        "type": "number",
                        "example": 0.55
                    }
                },
                "type": "object"
            },
            "V1ResponseUserUserIdentifierRegistration": {
                "properties": {
                    "redirectUrl": {
                        "description": "The redirect URL per locale.",
                        "type": "string",
                        "example": {
                            "en-gb": "https://my.btcdirect.eu/en-gb/user/settings",
                            "fr-fr": "https://my.btcdirect.eu/fr-fr/user/settings",
                            "nl-nl": "https://my.btcdirect.eu/nl-nl/user/settings"
                        }
                    }
                },
                "type": "object"
            },
            "V1ResponseUserToken": {
                "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"
            },
            "V1ResponseUserLoginToken": {
                "properties": {
                    "uuid": {
                        "description": "UUID of the user.",
                        "type": "string",
                        "example": "45b9313b-fa47-4786-baf1-62969dec31f2"
                    },
                    "token": {
                        "description": "The token to login into the privateUrls.",
                        "type": "string",
                        "example": "fGRbWeT1VX0pcEGkwgso"
                    },
                    "expiryDate": {
                        "description": "The date and time when this token expires.",
                        "type": "string",
                        "example": "2019-06-06T16:16:16Z"
                    }
                },
                "type": "object"
            },
            "V1ResponseUserInfo": {
                "properties": {
                    "emailAddress": {
                        "description": "Email address of the user.",
                        "type": "string",
                        "example": "mail@example.com"
                    },
                    "firstName": {
                        "description": "First name of the user.",
                        "type": "string",
                        "example": "John"
                    },
                    "lastName": {
                        "description": "Last name of the user.",
                        "type": "string",
                        "example": "Doe"
                    },
                    "region": {
                        "description": "Region of the user.",
                        "type": "string",
                        "example": "nl-nl"
                    },
                    "phoneNumber": {
                        "description": "Phone number of the user.",
                        "type": "string",
                        "example": ""
                    },
                    "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"
                    },
                    "is_business": {
                        "type": "boolean"
                    },
                    "limits": {
                        "$ref": "#/components/schemas/V1UserTradeLimits"
                    },
                    "enabledIbanAccounts": {
                        "description": "Deprecated: Use enabledAccounts instead. Enabled IBAN accounts of the user.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IbanAccount"
                        },
                        "deprecated": true
                    },
                    "enabledWalletAddresses": {
                        "description": "Enabled wallet addresses of the user.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserWalletAddress"
                        }
                    },
                    "enabledAccounts": {
                        "description": "Enabled accounts of the user.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Account"
                        }
                    },
                    "status": {
                        "$ref": "#/components/schemas/V1UserStatus"
                    },
                    "verificationLevel": {
                        "$ref": "#/components/schemas/Level"
                    }
                },
                "type": "object"
            },
            "V1ResponseSystemInfo": {
                "properties": {
                    "supportedRegions": {
                        "description": "The locale/country combinations we support.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "nl-nl",
                            "nl-be",
                            "fr-be",
                            "fr-fr",
                            "es-es",
                            "de-at",
                            "fr-ch",
                            "de-ch",
                            "fr-lu",
                            "de-lu",
                            "en-gb",
                            "en-ie"
                        ]
                    },
                    "urls": {
                        "$ref": "#/components/schemas/V1SystemPublicUrls"
                    },
                    "privateUrls": {
                        "$ref": "#/components/schemas/V1SystemPrivateUrls"
                    },
                    "nationalities": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/V1SystemNationality"
                        }
                    }
                },
                "type": "object"
            },
            "V1ResponseSystemCurrencyPair": {
                "properties": {},
                "type": "object"
            },
            "V1ResponseSellQuoteResponse": {
                "required": [
                    "quote",
                    "currencyPair",
                    "paymentMethodCost",
                    "fiatNetworkFee",
                    "btcdirectFee",
                    "partnerFee",
                    "totalCost",
                    "singleCoinEstimate",
                    "paymentMethod",
                    "expiryDate",
                    "bankAccountDisabled",
                    "userLimitExceeded",
                    "currencyLimitExceeded",
                    "paymentMethodLimitExceeded",
                    "quoteUnconfirmableReasons"
                ],
                "properties": {
                    "quote": {
                        "description": "The quote that is generated based on the submitted data.",
                        "type": "string",
                        "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEyMzQ1NjcsImV4cCI6MTU1NDU0N"
                    },
                    "currencyPair": {
                        "description": "The currency pair that is used for the quote.",
                        "type": "string",
                        "example": "BTCEUR"
                    },
                    "fiatAmount": {
                        "description": "The amount that the user will receive.",
                        "type": "number",
                        "example": "50"
                    },
                    "cryptoAmount": {
                        "description": "The amount of cryptos that the user will have to pay.",
                        "type": "number",
                        "example": "0.5"
                    },
                    "fiatNetworkFee": {
                        "description": "The fee charged for consolidating transactions on the blockchain.",
                        "type": "number",
                        "example": "0"
                    },
                    "btcdirectFee": {
                        "description": "The fee charged by BTC Direct.",
                        "type": "number",
                        "example": "0.75"
                    },
                    "btcdirectFeePercentage": {
                        "description": "The fee charged in percentage by BTC Direct.",
                        "type": "number",
                        "example": "0.75"
                    },
                    "partnerFee": {
                        "description": "The fee earned by the partner.",
                        "type": "number",
                        "example": "1.00"
                    },
                    "partnerFeePercentage": {
                        "description": "The fee earned in percentage by the partner.",
                        "type": "number",
                        "example": "1.00"
                    },
                    "singleCoinEstimate": {
                        "description": "The estimated value of a single coin.",
                        "type": "number",
                        "example": "96779.04"
                    },
                    "expiryDate": {
                        "description": "The date and time when this quote expires.",
                        "type": "string",
                        "example": "2019-06-06T16:16:16Z"
                    },
                    "bankAccountDisabled": {
                        "description": "Whether or not the bank account provided has been disabled. Only bank accounts which have not been disabled can be used to sell cryptos to us.",
                        "type": "boolean",
                        "example": false
                    },
                    "userLimitExceeded": {
                        "description": "Replaced by <code>quoteUnconfirmableReasons</code>.<br><br>Whether the user has exceeded their personal limit.",
                        "type": "boolean",
                        "example": false,
                        "deprecated": true
                    },
                    "currencyLimitExceeded": {
                        "description": "Replaced by <code>quoteUnconfirmableReasons</code>.<br><br>Whether the currency limit has been exceeded.",
                        "type": "boolean",
                        "example": false,
                        "deprecated": true
                    },
                    "quoteUnconfirmableReasons": {
                        "description": "Reasons why this quote can not be confirmed.",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "currencyLimitExceeded",
                                "paymentMethodLimitExceeded",
                                "paymentMethodDisabled",
                                "userLimitExceeded",
                                "userRegistrationNotCompleted",
                                "userVerificationLevelInvalid"
                            ]
                        },
                        "example": [
                            "currencyLimitExceeded",
                            "userLimitExceeded",
                            "userRegistrationNotCompleted"
                        ]
                    },
                    "sourceCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/V1SystemCryptoCurrency"
                            }
                        ],
                        "nullable": true,
                        "description": "The source (crypto) currency with CAIP-19 identifier."
                    },
                    "targetCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/V1SystemFiatCurrency"
                            }
                        ],
                        "nullable": true,
                        "description": "The target (fiat) currency with CAIP-19 identifier."
                    },
                    "quote_token": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "V1ResponsePricesPrices": {
                "properties": {
                    "aggregate_money_formatter": {
                        "$ref": "#/components/schemas/AggregateMoneyFormatter"
                    }
                },
                "type": "object"
            },
            "V1ResponseBuyQuoteResponse": {
                "required": [
                    "quote",
                    "currencyPair",
                    "paymentMethodCost",
                    "networkFeeCost",
                    "btcdirectFee",
                    "partnerFee",
                    "totalCost",
                    "singleCoinEstimate",
                    "paymentMethod",
                    "expiryDate",
                    "userLimitExceeded",
                    "currencyLimitExceeded",
                    "paymentMethodLimitExceeded",
                    "quoteUnconfirmableReasons"
                ],
                "properties": {
                    "quote": {
                        "description": "The quote that is generated based on the submitted data.",
                        "type": "string",
                        "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEyMzQ1NjcsImV4cCI6MTU1NDU0N"
                    },
                    "currencyPair": {
                        "description": "The currency pair that is used for the quote.",
                        "type": "string",
                        "example": "BTCEUR"
                    },
                    "fiatAmount": {
                        "description": "The amount that the user will have to pay.",
                        "type": "number",
                        "example": 50
                    },
                    "cryptoAmount": {
                        "description": "The amount of cryptos that the user will receive.",
                        "type": "number",
                        "example": "0.5"
                    },
                    "paymentMethodCost": {
                        "description": "The cost for using the selected payment method.",
                        "type": "number",
                        "example": "2.5"
                    },
                    "networkFeeCost": {
                        "description": "The cost for the on-chain network fees.",
                        "type": "number",
                        "example": "1.5"
                    },
                    "btcdirectFee": {
                        "description": "The fee charged by BTC Direct in fiat.",
                        "type": "number",
                        "example": "0.75"
                    },
                    "btcdirectFeePercentage": {
                        "description": "The fee charged in percentage by BTC Direct.",
                        "type": "number",
                        "example": "0.75"
                    },
                    "partnerFee": {
                        "description": "The fee earned by the partner in fiat.",
                        "type": "number",
                        "example": "1.00"
                    },
                    "partnerFeePercentage": {
                        "description": "The fee earned in percentage by the partner.",
                        "type": "number",
                        "example": "1.00"
                    },
                    "totalCost": {
                        "description": "The amount that the user will have to pay.",
                        "type": "number",
                        "example": 50
                    },
                    "singleCoinEstimate": {
                        "description": "The estimated value of a single coin.",
                        "type": "number",
                        "example": "96779.04"
                    },
                    "paymentMethod": {
                        "description": "The payment method for the payment.",
                        "type": "string",
                        "example": "creditCard"
                    },
                    "expiryDate": {
                        "description": "The date and time when this quote expires.",
                        "type": "string",
                        "example": "2019-06-06T16:16:16Z"
                    },
                    "userLimitExceeded": {
                        "description": "Replaced by <code>quoteUnconfirmableReasons</code>.<br><br>Whether the user has exceeded their personal limit.",
                        "type": "boolean",
                        "example": false,
                        "deprecated": true
                    },
                    "currencyLimitExceeded": {
                        "description": "Replaced by <code>quoteUnconfirmableReasons</code>.<br><br>Whether the currency limit has been exceeded.",
                        "type": "boolean",
                        "example": false,
                        "deprecated": true
                    },
                    "paymentMethodLimitExceeded": {
                        "description": "Replaced by <code>quoteUnconfirmableReasons</code>.<br><br>Whether the payment method limit has been exceeded.",
                        "type": "boolean",
                        "example": false,
                        "deprecated": true
                    },
                    "quoteUnconfirmableReasons": {
                        "description": "Reasons why this quote can not be confirmed.",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "currencyLimitExceeded",
                                "paymentMethodLimitExceeded",
                                "paymentMethodDisabled",
                                "userLimitExceeded",
                                "userRegistrationNotCompleted",
                                "userVerificationLevelInvalid"
                            ]
                        },
                        "example": [
                            "currencyLimitExceeded",
                            "paymentMethodLimitExceeded",
                            "paymentMethodDisabled",
                            "userLimitExceeded",
                            "userRegistrationNotCompleted"
                        ]
                    },
                    "sourceCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/V1SystemFiatCurrency"
                            }
                        ],
                        "nullable": true,
                        "description": "The source (fiat) currency with CAIP-19 identifier."
                    },
                    "targetCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/V1SystemCryptoCurrency"
                            }
                        ],
                        "nullable": true,
                        "description": "The target (crypto) currency with CAIP-19 identifier."
                    },
                    "quote_token": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "V1ResponseBuyPaymentMethods": {
                "properties": {
                    "paymentMethods": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/V1BuyPaymentMethod"
                        }
                    },
                    "countries": {
                        "description": "The payment methods per country.",
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "example": {
                            "nl": [
                                "iDeal",
                                "creditCard"
                            ],
                            "be": [
                                "bancontact",
                                "creditCard"
                            ],
                            "fr": [
                                "creditCard",
                                "bankTransfer"
                            ]
                        }
                    }
                },
                "type": "object"
            },
            "V1ResponseAuthenticationToken": {
                "properties": {
                    "token": {
                        "description": "Authentication token. Use this to request resources requiring authentication.",
                        "type": "string",
                        "format": "string",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
                    },
                    "refreshToken": {
                        "description": "Refresh token. Use this to request a new authentication token.",
                        "type": "string",
                        "format": "string",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
                    }
                },
                "type": "object"
            },
            "V1ResponseAuthenticationRefreshToken": {
                "properties": {
                    "refreshToken": {
                        "description": "Refresh token. Use this to request a new authentication token.",
                        "type": "string",
                        "format": "string",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
                    }
                },
                "type": "object"
            },
            "V1RequestUserUserIdentifierRegistration": {
                "required": [
                    "identifier",
                    "returnUrl"
                ],
                "properties": {
                    "identifier": {
                        "description": "The user identifier you want to register.",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 36,
                        "example": "c6fefe8d7ac0f4113876d634e8d15f65947f1b62d4859fffcd2464d2be58b2d8"
                    },
                    "returnUrl": {
                        "description": "The URL which will be used to return to your client.",
                        "type": "string",
                        "example": "https://example.com?action=buy"
                    }
                },
                "type": "object"
            },
            "V1RequestUserRegistration": {
                "required": [
                    "identifier",
                    "emailAddress",
                    "phoneNumber",
                    "firstName",
                    "lastName",
                    "country",
                    "websiteLanguage",
                    "websiteCountry",
                    "identityDocumentType"
                ],
                "properties": {
                    "identifier": {
                        "description": "The user identifier of the user.",
                        "type": "string",
                        "example": "c6fefe8d7ac0f4113876d634e8d15f65947f1b62d4859fffcd2464d2be58b2d8"
                    },
                    "emailAddress": {
                        "description": "E-mail address of the user.",
                        "type": "string",
                        "example": "info@example.com"
                    },
                    "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": "NL"
                    },
                    "websiteLanguage": {
                        "description": "The language to use on the website.",
                        "type": "string",
                        "enum": [
                            "nl",
                            "en",
                            "fr",
                            "de",
                            "es"
                        ],
                        "example": "en"
                    },
                    "websiteCountry": {
                        "description": "The country to use on the website.",
                        "type": "string",
                        "enum": [
                            "at",
                            "be",
                            "fr",
                            "de",
                            "ie",
                            "li",
                            "lu",
                            "mc",
                            "nl",
                            "es",
                            "ch",
                            "gb"
                        ],
                        "example": "gb"
                    },
                    "identityDocumentFirstNames": {
                        "description": "First names as they appear on the identity document",
                        "type": "string",
                        "example": "Johannes Jacobus Cornelius"
                    },
                    "identityDocumentLastName": {
                        "description": "Last name as it appears on the identity document",
                        "type": "string",
                        "example": "Jansen"
                    },
                    "identityDocumentType": {
                        "description": "Type of identity document used.",
                        "type": "string",
                        "enum": [
                            "Passport",
                            "IdentityCard",
                            "DrivingLicence",
                            "ResidencePermit"
                        ],
                        "example": "Passport"
                    },
                    "identityDocumentNumber": {
                        "description": "Number of the identity document",
                        "type": "string",
                        "example": "IN172F4"
                    },
                    "identityDocumentCountry": {
                        "description": "ISO 3166-1 alpha-2 country code of the country which issued the identity document.",
                        "type": "string",
                        "example": "NL"
                    }
                },
                "type": "object"
            },
            "V1RequestUserIdentityDocument": {
                "required": [
                    "documentType",
                    "documentSide",
                    "data"
                ],
                "properties": {
                    "documentType": {
                        "description": "The document type.",
                        "type": "string",
                        "enum": [
                            "Passport",
                            "IdentityCard",
                            "DrivingLicence",
                            "Selfie",
                            "SecondSelfie",
                            "ProofOfResidency",
                            "ResidencePermit",
                            "IbanVerification",
                            "WalletVerification",
                            "LivenessCheck"
                        ]
                    },
                    "documentSide": {
                        "description": "The document side.",
                        "type": "string",
                        "enum": [
                            "Front",
                            "Back",
                            "Selfie",
                            "SecondSelfie",
                            "ProofOfResidency",
                            "VideoProof"
                        ]
                    },
                    "data": {
                        "description": "The base64 encoded binary image data (max 5MB un-encoded).",
                        "type": "string",
                        "example": "aGEgbWFkZSB5b3UgbG9vayE="
                    }
                },
                "type": "object"
            },
            "V1RequestPricesPrices": {
                "title": "Prices request",
                "description": "Price request model",
                "type": "string"
            },
            "V1RequestBuyQuote": {
                "required": [
                    "currencyPair",
                    "paymentMethod"
                ],
                "properties": {
                    "currencyPair": {
                        "description": "The currency pair that is used for the quote.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "paymentMethod": {
                        "description": "The payment method that the user wants to use to make the payment.",
                        "type": "string",
                        "example": "creditCard"
                    },
                    "fiatAmount": {
                        "description": "The amount at which the user wants to buy cryptos.",
                        "type": "number",
                        "example": 50,
                        "nullable": true
                    },
                    "cryptoAmount": {
                        "description": "The amount of cryptos that the user wants to buy.",
                        "type": "number",
                        "example": null,
                        "nullable": true
                    },
                    "fee": {
                        "description": "The profit in terms of a percentage for this order. If not present or null, your default fee is used. The default fee is also used for DCA and the widgets and can be set by your accountmanager.",
                        "type": "number",
                        "example": "1.5",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "V1RequestBuyConfirm": {
                "required": [
                    "quote",
                    "returnUrl",
                    "walletAddress"
                ],
                "properties": {
                    "callbackUrl": {
                        "description": "After the order is finished, we will send a request to this url.",
                        "type": "string",
                        "example": "https://www.example.com/payment-completed"
                    },
                    "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"
                    },
                    "returnUrl": {
                        "description": "After the payment is finished, we will redirect the user to this url.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "https://www.example.com/payment-finished"
                    },
                    "walletAddress": {
                        "description": "The wallet address we send the cryptos to after the payment is completed.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "destinationTag": {
                        "description": "The destination tag where we send the cryptos to after the payment is completed.",
                        "type": "string|integer",
                        "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",
                        "example": "unhosted"
                    }
                },
                "type": "object"
            },
            "V1FiatMoney": {
                "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"
            },
            "V1CryptoMoney": {
                "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"
            },
            "V1BuyPaymentMethodFee": {
                "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"
            },
            "V1BuyPaymentMethod": {
                "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/V1BuyPaymentMethodFee"
                    },
                    "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"
            },
            "V1BuyConfirmation": {},
            "StartVerification": {
                "required": [
                    "accessToken",
                    "access_token"
                ],
                "properties": {
                    "access_token": {
                        "description": "The access token obtained from PayPal to verify the user account.",
                        "type": "string",
                        "example": "foobarbaz"
                    }
                },
                "type": "object"
            },
            "ValidateWalletAddressRequest": {
                "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"
            },
            "PaymentStatusResponse": {
                "required": [
                    "status"
                ],
                "properties": {
                    "status": {
                        "$ref": "#/components/schemas/PaymentStatus"
                    },
                    "intermediateStatus": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/IntermediatePaymentStatus"
                            }
                        ],
                        "nullable": true,
                        "description": "The intermediate status of the payment.",
                        "type": "string",
                        "default": null,
                        "readOnly": true,
                        "example": "three_ds_frictionless"
                    },
                    "context": {
                        "description": "The context that defines the payment status or the intermediate payment status",
                        "type": "object",
                        "default": null,
                        "readOnly": true,
                        "nullable": true,
                        "additionalProperties": true
                    }
                },
                "type": "object"
            },
            "ConfirmRequest": {
                "required": [
                    "quote"
                ],
                "properties": {
                    "callbackUrl": {
                        "description": "After the order is finished, we will send a request to this url.",
                        "type": "string",
                        "example": "https://www.example.com/payment-completed"
                    },
                    "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"
                    },
                    "bankAccount": {
                        "description": "The IBAN account number to which to send the payment to. DEPRECATED: Use `accountIdentifier` instead.",
                        "type": "string",
                        "example": "NL37BUNQ2025406444",
                        "deprecated": true
                    },
                    "accountIdentifier": {
                        "description": "The account identifier to which to send the payment to. For example an IBAN, depending on the payment method used.",
                        "type": "string",
                        "example": "NL37BUNQ2025406444"
                    }
                },
                "type": "object"
            },
            "PaymentMethodsResponse": {
                "properties": {
                    "paymentMethods": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PaymentMethod"
                        }
                    }
                },
                "type": "object"
            },
            "QuoteRequest": {
                "required": [
                    "currencyPair"
                ],
                "properties": {
                    "currencyPair": {
                        "description": "The currency pair that is used for the quote.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "paymentMethod": {
                        "description": "The payment method that the user wants to use to receive the payment.",
                        "type": "string",
                        "default": "bankTransfer",
                        "example": "bankTransfer"
                    },
                    "fiatAmount": {
                        "description": "The amount at which the user wants to buy cryptos.",
                        "type": "number",
                        "example": 50,
                        "nullable": true
                    },
                    "cryptoAmount": {
                        "description": "The amount of cryptos that the user wants to buy.",
                        "type": "number",
                        "example": null,
                        "nullable": true
                    },
                    "fee": {
                        "description": "The profit in terms of a percentage for this order. If not present or null, your default fee is used. The default fee is also used for DCA and the widgets and can be set by your accountmanager.",
                        "type": "number",
                        "example": "1.5",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "QuoteResponse": {
                "required": [
                    "quote",
                    "currencyPair",
                    "paymentMethodCost",
                    "fiatNetworkFee",
                    "btcdirectFee",
                    "partnerFee",
                    "totalCost",
                    "singleCoinEstimate",
                    "paymentMethod",
                    "expiryDate",
                    "bankAccountDisabled",
                    "userLimitExceeded",
                    "currencyLimitExceeded",
                    "paymentMethodLimitExceeded",
                    "quoteUnconfirmableReasons"
                ],
                "properties": {
                    "quote": {
                        "description": "The quote that is generated based on the submitted data.",
                        "type": "string",
                        "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEyMzQ1NjcsImV4cCI6MTU1NDU0N"
                    },
                    "currencyPair": {
                        "description": "The currency pair that is used for the quote.",
                        "type": "string",
                        "example": "BTCEUR"
                    },
                    "fiatAmount": {
                        "description": "The amount that the user will receive.",
                        "type": "number",
                        "example": "50"
                    },
                    "cryptoAmount": {
                        "description": "The amount of cryptos that the user will have to pay.",
                        "type": "number",
                        "example": "0.5"
                    },
                    "fiatNetworkFee": {
                        "description": "The fee charged for consolidating transactions on the blockchain.",
                        "type": "number",
                        "example": "0"
                    },
                    "btcdirectFee": {
                        "description": "The fee charged by BTC Direct.",
                        "type": "number",
                        "example": "0.75"
                    },
                    "btcdirectFeePercentage": {
                        "description": "The fee charged in percentage by BTC Direct.",
                        "type": "number",
                        "example": "0.75"
                    },
                    "partnerFee": {
                        "description": "The fee earned by the partner.",
                        "type": "number",
                        "example": "1.00"
                    },
                    "partnerFeePercentage": {
                        "description": "The fee earned in percentage by the partner.",
                        "type": "number",
                        "example": "1.00"
                    },
                    "singleCoinEstimate": {
                        "description": "The estimated value of a single coin.",
                        "type": "number",
                        "example": "96779.04"
                    },
                    "expiryDate": {
                        "description": "The date and time when this quote expires.",
                        "type": "string",
                        "example": "2019-06-06T16:16:16Z"
                    },
                    "bankAccountDisabled": {
                        "description": "Whether or not the bank account provided has been disabled. Only bank accounts which have not been disabled can be used to sell cryptos to us.",
                        "type": "boolean",
                        "example": false
                    },
                    "userLimitExceeded": {
                        "description": "Replaced by <code>quoteUnconfirmableReasons</code>.<br><br>Whether the user has exceeded their personal limit.",
                        "type": "boolean",
                        "example": false,
                        "deprecated": true
                    },
                    "currencyLimitExceeded": {
                        "description": "Replaced by <code>quoteUnconfirmableReasons</code>.<br><br>Whether the currency limit has been exceeded.",
                        "type": "boolean",
                        "example": false,
                        "deprecated": true
                    },
                    "quoteUnconfirmableReasons": {
                        "description": "Reasons why this quote can not be confirmed.",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "currencyLimitExceeded",
                                "paymentMethodLimitExceeded",
                                "paymentMethodDisabled",
                                "userLimitExceeded",
                                "userRegistrationNotCompleted",
                                "userVerificationLevelInvalid"
                            ]
                        },
                        "example": [
                            "currencyLimitExceeded",
                            "userLimitExceeded",
                            "userRegistrationNotCompleted"
                        ]
                    },
                    "sourceCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/V1SystemCryptoCurrency"
                            }
                        ],
                        "nullable": true,
                        "description": "The source (crypto) currency with CAIP-19 identifier."
                    },
                    "targetCurrency": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/V1SystemFiatCurrency"
                            }
                        ],
                        "nullable": true,
                        "description": "The target (fiat) currency with CAIP-19 identifier."
                    }
                },
                "type": "object"
            },
            "DcaCodeRequest": {
                "required": [
                    "currencyPair",
                    "walletAddress"
                ],
                "properties": {
                    "sourceCurrency": {
                        "description": "CAIP-19 identifier for the source currency. Alternative to currencyPair \u2014 when both sourceCurrency and targetCurrency are provided, currencyPair is derived automatically.",
                        "type": "string",
                        "example": "swift:0/iso4217:EUR",
                        "nullable": true
                    },
                    "targetCurrency": {
                        "description": "CAIP-19 identifier for the target currency. Alternative to currencyPair \u2014 when both sourceCurrency and targetCurrency are provided, currencyPair is derived automatically.",
                        "type": "string",
                        "example": "bip122:000000000019d6689c085ae165831e93/slip44:0",
                        "nullable": true
                    },
                    "currencyPair": {
                        "description": "The currency pair for the DCA code.",
                        "type": "string",
                        "example": "BTC-EUR"
                    },
                    "walletAddress": {
                        "description": "The wallet address we send the cryptos to after the payment is completed.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "destinationTag": {
                        "description": "The destination tag where we send the cryptos to after the payment is completed.",
                        "type": "string|integer",
                        "example": "ABC12345",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "DcaCodeResponse": {
                "properties": {
                    "name": {
                        "description": "Name of the account holder.",
                        "type": "string",
                        "example": "Doe"
                    },
                    "iban": {
                        "description": "The IBAN where the fiat need to be sent to.",
                        "type": "string",
                        "example": "NL37BUNQ2025406444"
                    },
                    "description": {
                        "description": "The code that needs to be sent in the description field.",
                        "type": "string",
                        "example": 12345678
                    },
                    "bic": {
                        "description": "The BIC of the bank.",
                        "type": "string",
                        "example": "BUNQNL2A"
                    }
                },
                "type": "object"
            },
            "ExistsRequest": {
                "type": "string"
            },
            "Level": {
                "required": [
                    "id",
                    "level",
                    "buyLimit",
                    "sellLimit"
                ],
                "properties": {
                    "id": {
                        "description": "The verification level UUID.",
                        "type": "string",
                        "format": "uuid",
                        "example": "a1b2c3d4-0003-4000-8000-000000000003"
                    },
                    "level": {
                        "description": "The verification level identifier.",
                        "type": "string",
                        "example": "hero"
                    },
                    "buyLimit": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    },
                    "sellLimit": {
                        "$ref": "#/components/schemas/V1FiatMoney"
                    }
                },
                "type": "object"
            },
            "TransactionInfoResponse": {
                "properties": {
                    "transactionId": {
                        "description": "The transaction id of the order.",
                        "type": "string",
                        "example": "c6fefe8d7ac0f4113876d634e8d15f65947f1b62d4859fffcd2464d2be58b2d8",
                        "nullable": true
                    },
                    "address": {
                        "description": "The address to which the coins have been sent.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
                        "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
                    },
                    "amount": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/V1CryptoMoney"
                            }
                        ],
                        "nullable": true,
                        "description": "The amount of the transaction",
                        "example": {
                            "amount": 0.5,
                            "currencyCode": "BTC"
                        }
                    },
                    "finishedAt": {
                        "description": "The date and time when the transaction was finished.",
                        "type": "string",
                        "format": "date-time",
                        "example": "2019-06-18T07:32:28Z",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "GetQuestionsRequest": {
                "type": "string",
                "default": "en"
            },
            "GetQuestionsResponse": {
                "properties": {
                    "questions": {
                        "description": "The AMLD5 questions.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Question"
                        },
                        "example": [
                            {
                                "key": "employmentStatus",
                                "label": "What is your current employment status?",
                                "answerOptions": [
                                    "Investing",
                                    "Trading",
                                    "Money",
                                    "Online gambling"
                                ]
                            },
                            {
                                "key": "mainSourceOfIncome",
                                "label": "What is the origin of your assets?",
                                "answerOptions": [
                                    "Income from employment",
                                    "Savings",
                                    "Investment income",
                                    "Inheritance",
                                    "Gift",
                                    "Sale of enterprise",
                                    "Sale of property",
                                    "Loan"
                                ]
                            }
                        ]
                    }
                },
                "type": "object"
            },
            "Answer": {
                "required": [
                    "key",
                    "answer"
                ],
                "properties": {
                    "key": {
                        "description": "A key to identify a question.",
                        "type": "string",
                        "example": "employmentStatus"
                    },
                    "answer": {
                        "description": "An answer to the question the key is referencing.",
                        "type": "string",
                        "example": "Investing"
                    }
                },
                "type": "object"
            },
            "StartVerification2": {
                "required": [
                    "accountIdentifier"
                ],
                "properties": {
                    "accountIdentifier": {
                        "description": "The account identifier of the card to verify.",
                        "type": "string",
                        "example": "123456_9876_02_2029"
                    }
                },
                "type": "object"
            },
            "CardVerificationActionResponse": {
                "required": [
                    "status"
                ],
                "properties": {
                    "type": {
                        "description": "The provider type.",
                        "type": "string",
                        "example": "sumsub",
                        "nullable": true
                    },
                    "status": {
                        "description": "The verification status.",
                        "type": "string",
                        "example": "initiated"
                    },
                    "data": {
                        "description": "Provider-specific data.",
                        "type": "object",
                        "default": null,
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "VerifyCodeRequest": {
                "required": [
                    "code"
                ],
                "properties": {
                    "code": {
                        "description": "The email verification code.",
                        "type": "string",
                        "example": "012345"
                    }
                },
                "type": "object"
            },
            "ImageIbanVerificationRequest": {
                "required": [
                    "name",
                    "iban",
                    "proof"
                ],
                "properties": {
                    "name": {
                        "description": "The name of the account holder.",
                        "type": "string",
                        "example": "John Doe"
                    },
                    "iban": {
                        "description": "The IBAN account for which you want to upload proof",
                        "type": "string",
                        "example": "NL37BUNQ2025406444"
                    },
                    "proof": {
                        "description": "The base64 encoded binary image data (max 63MB encoded).",
                        "type": "string",
                        "example": "aGEgbWFkZSB5b3UgbG9vayE="
                    }
                },
                "type": "object"
            },
            "VerifyIbanThroughPaymentRequest": {
                "required": [
                    "returnUrl"
                ],
                "properties": {
                    "returnUrl": {
                        "description": "Redirect URL to sent the user back to after completing the IBAN verification payment",
                        "type": "string",
                        "example": "https://link-to.your-website.com/with?parameters=to-redirect"
                    }
                },
                "type": "object"
            },
            "IbanVerifyThroughPaymentBankTransferResponse": {
                "properties": {
                    "name": {
                        "description": "The name of the company to which the funds should be transferred.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "BTC Direct Europe BV"
                    },
                    "country": {
                        "description": "The country in which the company is located.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "The Netherlands"
                    },
                    "city": {
                        "description": "The city in which the company is located.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "Nijmegen"
                    },
                    "bank": {
                        "description": "The name of the bank to which the funds should be transferred.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "Bunq"
                    },
                    "swift": {
                        "description": "The SWIFT code of the bank to which the funds should be transferred.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "BUNQNL2A"
                    },
                    "reference": {
                        "description": "The reference that should be used when transferring the funds.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "YFUWTT"
                    },
                    "iban": {
                        "description": "The IBAN to which the funds should be transferred.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "NL12BUNQ2060426707"
                    }
                },
                "type": "object"
            },
            "IbanVerifyThroughPaymentRedirectResponse": {
                "properties": {
                    "url": {
                        "description": "The URL to which the user should be redirected to complete the payment.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "example": "https://link-to-external.payment-service.provider/with?paremeters=to-redirect"
                    },
                    "method": {
                        "description": "The method that should be used to redirect the user.",
                        "required": [
                            "true"
                        ],
                        "type": "string",
                        "enum": [
                            "GET",
                            "POST"
                        ],
                        "example": "GET"
                    },
                    "data": {
                        "description": "Data that should be sent to the URL. Either trough query string or as post data.",
                        "required": [
                            "true"
                        ],
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "example": {
                            "key1": "value1",
                            "key2": "value2"
                        }
                    }
                },
                "type": "object"
            },
            "VerifyWalletAddressRequest": {
                "required": [
                    "currency",
                    "address",
                    "name",
                    "proof"
                ],
                "properties": {
                    "currency": {
                        "description": "The currency of the wallet address.",
                        "type": "string",
                        "example": "BTC"
                    },
                    "address": {
                        "description": "The address of which the user will upload the proof of ownership.",
                        "type": "string",
                        "example": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5"
                    },
                    "destinationTag": {
                        "description": "The destination tag for the wallet address to verify.",
                        "type": "string|integer",
                        "example": "ABC12345",
                        "nullable": true
                    },
                    "name": {
                        "description": "A descriptive name for the address.",
                        "type": "string",
                        "example": "BTC address 1"
                    },
                    "proof": {
                        "description": "The base64 encoded binary image data (max 5MB un-encoded).",
                        "type": "string",
                        "example": "aGEgbWFkZSB5b3UgbG9vayE="
                    }
                },
                "type": "object"
            },
            "VerifyWalletAddressResponse": {
                "required": [
                    "currency",
                    "address",
                    "name",
                    "status"
                ],
                "properties": {
                    "currency": {
                        "description": "The currency belonging to the wallet address that was sent for verification",
                        "type": "string",
                        "example": "BTC"
                    },
                    "address": {
                        "description": "The wallet address to verify.",
                        "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
                    },
                    "name": {
                        "description": "A descriptive name for the address.",
                        "type": "string",
                        "example": "BTC address 1"
                    },
                    "status": {
                        "$ref": "#/components/schemas/UserWalletAddressBookState"
                    }
                },
                "type": "object"
            },
            "WalletType": {
                "type": "string",
                "enum": [
                    "vasp",
                    "unhosted"
                ]
            },
            "PaymentStatus": {
                "type": "string",
                "enum": [
                    "Open",
                    "Refused",
                    "Processing",
                    "Success",
                    "Failed",
                    "Cancelled",
                    "Expired",
                    "Refunded"
                ]
            },
            "IntermediatePaymentStatus": {
                "type": "string",
                "enum": [
                    "three_ds_frictionless",
                    "three_ds_challenge"
                ]
            },
            "PaymentMethod": {
                "required": [
                    "paymentMethod",
                    "label",
                    "isEnabled"
                ],
                "properties": {
                    "paymentMethod": {
                        "description": "The internal payment method identifier.",
                        "type": "string",
                        "example": "bankTransfer"
                    },
                    "label": {
                        "description": "Human-readable label of the payment method.",
                        "type": "string",
                        "example": "Bank Transfer"
                    },
                    "isEnabled": {
                        "description": "Indicates if the payment method is currently enabled.",
                        "type": "boolean",
                        "example": true
                    },
                    "accountTypes": {
                        "description": "The account types supported by this payment method.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "example": [
                            "iban",
                            "sofort",
                            "paypal"
                        ]
                    },
                    "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"
            },
            "OrderNotCompletedReason": {
                "required": [
                    "code",
                    "description",
                    "solution",
                    "userActionRequired",
                    "supportActionRequired"
                ],
                "properties": {
                    "code": {
                        "description": "The code related to this reason",
                        "type": "string",
                        "example": "011"
                    },
                    "description": {
                        "description": "The description of the reason.",
                        "type": "string",
                        "example": "Your IBAN account is not verified."
                    },
                    "solution": {
                        "description": "The proposed solution for this reason.",
                        "type": "string",
                        "example": "Verify your IBAN account."
                    },
                    "userActionRequired": {
                        "description": "If an action from the user is required at this point to progress the order.",
                        "type": "boolean",
                        "example": false
                    },
                    "supportActionRequired": {
                        "description": "Indicator if an action from the BTC Direct support department is required.",
                        "type": "boolean",
                        "example": true
                    },
                    "url": {
                        "description": "The URL where the action can be executed (only available when userActionRequired is true)",
                        "type": "string",
                        "default": null,
                        "example": "https://my.btcdirect.eu/nl-nl/iban-verification/",
                        "nullable": true
                    }
                },
                "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"
            },
            "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"
            },
            "IbanAccount": {
                "properties": {
                    "number": {
                        "type": "string"
                    },
                    "holder": {
                        "type": "string"
                    },
                    "verified": {
                        "type": "boolean"
                    }
                },
                "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"
            },
            "Account": {
                "properties": {
                    "type": {
                        "description": "The account type.",
                        "type": "string",
                        "example": "iban"
                    },
                    "name": {
                        "description": "Human-readable label for the account (e.g. \"My bank account\").",
                        "type": "string",
                        "example": "My bank account"
                    },
                    "identifier": {
                        "description": "Account identifier such as IBAN or wallet address.",
                        "type": "string",
                        "example": "NL00BANK0123456789"
                    },
                    "verified": {
                        "description": "Indicates whether the account has been verified.",
                        "type": "boolean",
                        "default": false,
                        "example": true
                    },
                    "limitRaised": {
                        "description": "Indicates whether the account limit has been raised.",
                        "type": "boolean",
                        "default": false,
                        "example": false
                    }
                },
                "type": "object"
            },
            "Question": {
                "properties": {
                    "key": {
                        "description": "A key to identify this question.",
                        "type": "string",
                        "example": "employmentStatus"
                    },
                    "label": {
                        "description": "The question in a certain locale.",
                        "type": "string",
                        "example": "Why did you open an account at BTC Direct?"
                    },
                    "answerOptions": {
                        "description": "The possible answer options for this question.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AnswerOption"
                        },
                        "example": [
                            "Investing",
                            "Trading",
                            "Money",
                            "Online gambling"
                        ]
                    }
                },
                "type": "object"
            },
            "UserWalletAddressBookState": {
                "type": "string",
                "enum": [
                    "open",
                    "pending",
                    "disabled",
                    "verified",
                    "rejected"
                ]
            },
            "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"
            },
            "SellTradeAddress": {
                "required": [
                    "address"
                ],
                "properties": {
                    "address": {
                        "description": "The address to send the crypto to. You can use this to estimate transaction fees before requesting a quote.",
                        "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
                    }
                },
                "type": "object"
            },
            "UserWalletAddressVerification": {
                "type": "string",
                "enum": [
                    "required",
                    "travel_rule_required"
                ]
            },
            "AnswerOption": {
                "properties": {
                    "label": {
                        "description": "A label for this answer option.",
                        "type": "string",
                        "example": "Investing"
                    }
                },
                "type": "object"
            },
            "PaymentMethodContextType": {
                "type": "string",
                "enum": [
                    "acceptedCards",
                    "clientId",
                    "countries",
                    "country",
                    "currency",
                    "disableFunding",
                    "displayName",
                    "enableFunding",
                    "features",
                    "identifier",
                    "intent",
                    "scope"
                ]
            },
            "AggregateMoneyFormatter": {
                "properties": {
                    "currencies": {
                        "$ref": "#/components/schemas/AbstractCurrencies"
                    }
                },
                "type": "object"
            },
            "AbstractCurrencies": {
                "properties": {},
                "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": "Authentication"
        },
        {
            "name": "Buy"
        },
        {
            "name": "Payment"
        },
        {
            "name": "System"
        },
        {
            "name": "Sell"
        },
        {
            "name": "User/Buy"
        },
        {
            "name": "User"
        },
        {
            "name": "User/Sell"
        },
        {
            "name": "User/Verify"
        },
        {
            "name": "User/Verify/Iban"
        },
        {
            "name": "Validate"
        }
    ]
}