{
  "openapi": "3.1.0",
  "info": {
    "title": "Stablegate API",
    "description": "Stablegate Processing API reference. For step-by-step integration flows see the [guides](/docs/guide/); a ready-to-import [Postman collection](/docs/guide/getting-started/postman-collection) is generated from this specification.",
    "version": "1.0.0"
  },
  "paths": {
    "/v1/customers/": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create Customer",
        "operationId": "post_v1_customers",
        "security": [
          {
            "Api Key": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClientRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerShortInfo"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get Customers List",
        "operationId": "get_v1_customers",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": 100,
              "title": "Limit"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": 0,
              "title": "Offset"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Client Id"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Email"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Phone"
            }
          },
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Username"
            }
          },
          {
            "name": "full_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Full Name"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "name": "country_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Country Code"
            }
          },
          {
            "name": "email_verified",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Email Verified"
            }
          },
          {
            "name": "kyc_level_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": [],
              "title": "Kyc Level Key"
            }
          },
          {
            "name": "risk_level_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": [],
              "title": "Risk Level Key"
            }
          },
          {
            "name": "pattern",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Pattern"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ClientStatus"
              },
              "default": [],
              "title": "Status"
            }
          },
          {
            "name": "partner_uuid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid4"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Partner Uuid"
            }
          },
          {
            "name": "partner_email",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Partner Email"
            }
          },
          {
            "name": "user_uuid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid4"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Uuid"
            }
          },
          {
            "name": "user_email",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Email"
            }
          },
          {
            "name": "external_reference",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "External Reference"
            }
          },
          {
            "name": "email__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Email  Like"
            }
          },
          {
            "name": "phone__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Phone  Like"
            }
          },
          {
            "name": "username__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Username  Like"
            }
          },
          {
            "name": "full_name__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Full Name  Like"
            }
          },
          {
            "name": "client_id__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Client Id  Like"
            }
          },
          {
            "name": "partner_full_name__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Partner Full Name  Like"
            }
          },
          {
            "name": "partner_email__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Partner Email  Like"
            }
          },
          {
            "name": "user_first_name__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User First Name  Like"
            }
          },
          {
            "name": "user_last_name__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Last Name  Like"
            }
          },
          {
            "name": "user_email__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Email  Like"
            }
          },
          {
            "name": "external_reference__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "External Reference  Like"
            }
          },
          {
            "name": "created_at__lt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created At  Lt"
            }
          },
          {
            "name": "created_at__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created At  Lte"
            }
          },
          {
            "name": "created_at__gt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created At  Gt"
            }
          },
          {
            "name": "created_at__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created At  Gte"
            }
          },
          {
            "name": "with_attributes",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": false,
              "title": "With Attributes"
            }
          },
          {
            "name": "is_funded",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Funded"
            }
          },
          {
            "name": "is_funded_updated_at__lt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Funded Updated At  Lt"
            }
          },
          {
            "name": "is_funded_updated_at__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Funded Updated At  Lte"
            }
          },
          {
            "name": "is_funded_updated_at__gt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Funded Updated At  Gt"
            }
          },
          {
            "name": "is_funded_updated_at__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Funded Updated At  Gte"
            }
          },
          {
            "name": "accuity_sanctions",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Accuity Sanctions"
            }
          },
          {
            "name": "accuity_sanctions_updated_at__lt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Accuity Sanctions Updated At  Lt"
            }
          },
          {
            "name": "accuity_sanctions_updated_at__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Accuity Sanctions Updated At  Lte"
            }
          },
          {
            "name": "accuity_sanctions_updated_at__gt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Accuity Sanctions Updated At  Gt"
            }
          },
          {
            "name": "accuity_sanctions_updated_at__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Accuity Sanctions Updated At  Gte"
            }
          },
          {
            "name": "video_verification_passed",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Video Verification Passed"
            }
          },
          {
            "name": "video_verification_passed_updated_at__lt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Video Verification Passed Updated At  Lt"
            }
          },
          {
            "name": "video_verification_passed_updated_at__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Video Verification Passed Updated At  Lte"
            }
          },
          {
            "name": "video_verification_passed_updated_at__gt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Video Verification Passed Updated At  Gt"
            }
          },
          {
            "name": "video_verification_passed_updated_at__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Video Verification Passed Updated At  Gte"
            }
          },
          {
            "name": "first_deposit_date__lt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "First Deposit Date  Lt"
            }
          },
          {
            "name": "first_deposit_date__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "First Deposit Date  Lte"
            }
          },
          {
            "name": "first_deposit_date__gt",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "First Deposit Date  Gt"
            }
          },
          {
            "name": "first_deposit_date__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "First Deposit Date  Gte"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QuerySortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "default": "desc",
              "title": "Sort"
            }
          },
          {
            "name": "order_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientsQueryOrderBy"
                },
                {
                  "type": "null"
                }
              ],
              "default": "id",
              "title": "Order By"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerInList"
                  },
                  "title": "Response Get V1 Customers"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get Customer",
        "operationId": "get_v1_customers_customer_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/account-opening-letter/": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Download Account Opening Letter",
        "operationId": "get_v1_customers_customer_uuid_account_opening_letter",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/verification/link/": {
      "post": {
        "tags": [
          "Verifications"
        ],
        "summary": "Create Verification Link",
        "operationId": "post_v1_customers_customer_uuid_verification_link",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationLink"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/verification/import/": {
      "post": {
        "tags": [
          "Verifications"
        ],
        "summary": "Import Verification Data",
        "operationId": "post_v1_customers_customer_uuid_verification_import",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportVerificationData"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/verification/instant/": {
      "post": {
        "tags": [
          "Verifications"
        ],
        "summary": "Start Instant Verification",
        "description": "Starts instant KYC verification for an individual customer. The customer must currently have no KYC level and no other active KYC application. AML screening runs after submission; poll GET /v1/customers/{customer_uuid}/ for the outcome: kyc_level is set once the application is approved.",
        "operationId": "post_v1_customers_customer_uuid_verification_instant",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstantVerificationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstantVerification"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/orders/": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Create Order",
        "operationId": "post_v1_customers_customer_uuid_orders",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrder"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get Orders",
        "operationId": "get_v1_customers_customer_uuid_orders",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "default": 100,
              "title": "Limit"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "default": 0,
              "title": "Offset"
            }
          },
          {
            "name": "uuid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Uuid"
            }
          },
          {
            "name": "external_id__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "External Id  Like"
            }
          },
          {
            "name": "holding_uuid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Holding Uuid"
            }
          },
          {
            "name": "account_uuid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Account Uuid"
            }
          },
          {
            "name": "is_approved",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Approved"
            }
          },
          {
            "name": "is_third_party_payment",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Third Party Payment"
            }
          },
          {
            "name": "is_approve_deposited",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Approve Deposited"
            }
          },
          {
            "name": "incoming_rails_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RailsCode"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Incoming Rails Code"
            }
          },
          {
            "name": "incoming_rails_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RailsType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Incoming Rails Type"
            }
          },
          {
            "name": "incoming_provider_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Incoming Provider Name"
            }
          },
          {
            "name": "incoming_asset_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/AssetCode"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Incoming Asset Code"
            }
          },
          {
            "name": "incoming_custodian_account__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Incoming Custodian Account  Like"
            }
          },
          {
            "name": "incoming_client_account__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Incoming Client Account  Like"
            }
          },
          {
            "name": "outgoing_rails_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RailsCode"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Outgoing Rails Code"
            }
          },
          {
            "name": "outgoing_rails_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RailsType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Outgoing Rails Type"
            }
          },
          {
            "name": "outgoing_provider_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Outgoing Provider Name"
            }
          },
          {
            "name": "outgoing_asset_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/AssetCode"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Outgoing Asset Code"
            }
          },
          {
            "name": "outgoing_custodian_account__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Outgoing Custodian Account  Like"
            }
          },
          {
            "name": "outgoing_client_account__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Outgoing Client Account  Like"
            }
          },
          {
            "name": "is_manual",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Manual"
            }
          },
          {
            "name": "is_otc",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Otc"
            }
          },
          {
            "name": "approved_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Approved By"
            }
          },
          {
            "name": "created_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created By"
            }
          },
          {
            "name": "approved_at__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Approved At  Gte"
            }
          },
          {
            "name": "approved_at__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Approved At  Lte"
            }
          },
          {
            "name": "created_at__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created At  Gte"
            }
          },
          {
            "name": "created_at__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created At  Lte"
            }
          },
          {
            "name": "updated_at__gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Updated At  Gte"
            }
          },
          {
            "name": "updated_at__lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Updated At  Lte"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QuerySortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "default": "desc",
              "title": "Sort"
            }
          },
          {
            "name": "order_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/OrderQueryOrderBy"
                },
                {
                  "type": "null"
                }
              ],
              "default": "id",
              "title": "Order By"
            }
          },
          {
            "name": "deleted__include",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": false,
              "title": "Deleted  Include"
            }
          },
          {
            "name": "account_code__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Account Code  Like"
            }
          },
          {
            "name": "account_name__like",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Account Name  Like"
            }
          },
          {
            "name": "account_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/AccountType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Account Type"
            }
          },
          {
            "name": "pipeline_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PipelineType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Pipeline Type"
            }
          },
          {
            "name": "client_uuid",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Client Uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderStatus"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderList"
                  },
                  "title": "Response Get V1 Customers Customer Uuid Orders"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/orders/{order_uuid}/": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get Order",
        "operationId": "get_v1_customers_customer_uuid_orders_order_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "order_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Order UUID",
              "title": "Order Uuid"
            },
            "description": "Order UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/orders/{order_uuid}/cancel/": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Cancel Order",
        "operationId": "post_v1_customers_customer_uuid_orders_order_uuid_cancel",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "order_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Order UUID",
              "title": "Order Uuid"
            },
            "description": "Order UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/check-fees/": {
      "post": {
        "tags": [
          "Fees"
        ],
        "summary": "Check Customer Fees",
        "operationId": "post_v1_customers_customer_uuid_check_fees",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommissionCheckPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommissionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/limits/": {
      "get": {
        "tags": [
          "Limits"
        ],
        "summary": "Customer Limits",
        "operationId": "get_v1_customers_customer_uuid_limits",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Limit"
                  },
                  "title": "Response Get V1 Customers Customer Uuid Limits"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/check-limits/": {
      "post": {
        "tags": [
          "Limits"
        ],
        "summary": "Check Customer Limits",
        "operationId": "post_v1_customers_customer_uuid_check_limits",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_post_v1_customers_customer_uuid_check_limits"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LimitCheckAdapterResponse"
                  },
                  "title": "Response Post V1 Customers Customer Uuid Check Limits"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/bank-accounts/": {
      "get": {
        "tags": [
          "Bank accounts"
        ],
        "summary": "Get Bank Accounts",
        "operationId": "get_v1_customers_customer_uuid_bank_accounts",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalBankAccount"
                  },
                  "title": "Response Get V1 Customers Customer Uuid Bank Accounts"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Bank accounts"
        ],
        "summary": "Create Bank Account",
        "description": "Omitted or blank bank_code and bank_name are derived from the IBAN using the same offline bank registry as the info-by-iban lookup. devapi_bank_code_required_error means the registry has no BIC for this IBAN — pass bank_code explicitly.",
        "operationId": "post_v1_customers_customer_uuid_bank_accounts",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalBankAccount"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalBankAccount"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/bank-accounts/{account_uuid}/": {
      "get": {
        "tags": [
          "Bank accounts"
        ],
        "summary": "Get Bank Account",
        "operationId": "get_v1_customers_customer_uuid_bank_accounts_account_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "account_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Bank account UUID",
              "title": "Account Uuid"
            },
            "description": "Bank account UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalBankAccount"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Bank accounts"
        ],
        "summary": "Update Bank Account",
        "description": "Omitted or blank bank_code and bank_name are derived from the IBAN using the same offline bank registry as the info-by-iban lookup. No error is raised when the BIC can't be resolved.",
        "operationId": "put_v1_customers_customer_uuid_bank_accounts_account_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "account_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Bank account UUID",
              "title": "Account Uuid"
            },
            "description": "Bank account UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExternalBankAccount"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalBankAccount"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Bank accounts"
        ],
        "summary": "Delete Bank Account",
        "operationId": "delete_v1_customers_customer_uuid_bank_accounts_account_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "account_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Bank account UUID",
              "title": "Account Uuid"
            },
            "description": "Bank account UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/bank-accounts/info-by-iban/": {
      "get": {
        "tags": [
          "Bank accounts"
        ],
        "summary": "Get Bank Info By Iban",
        "description": "Looks up the BIC and bank name for an IBAN from an offline bank registry. bank_code and bank_name can be null when the bank isn't in the registry, which is common for EMIs and fintechs.",
        "operationId": "get_v1_bank_accounts_info_by_iban",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "iban",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "IBAN to look up, spaces allowed",
              "title": "Iban"
            },
            "description": "IBAN to look up, spaces allowed"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankInfo"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/wallets/satoshitest/": {
      "get": {
        "tags": [
          "Customer Wallets"
        ],
        "summary": "Get Account For Satoshitest",
        "operationId": "get_v1_customers_customer_uuid_wallets_satoshitest",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          },
          {
            "name": "rail",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/CryptoRailsCode",
              "description": "Crypto rail code"
            },
            "description": "Crypto rail code"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationalWalletResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/wallets/": {
      "get": {
        "tags": [
          "Customer Wallets"
        ],
        "summary": "Get Customer Wallets List",
        "operationId": "get_v1_customers_customer_uuid_wallets",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCryptoAccount"
                  },
                  "title": "Response Get V1 Customers Customer Uuid Wallets"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Customer Wallets"
        ],
        "summary": "Create Customer Wallet",
        "operationId": "post_v1_customers_customer_uuid_wallets",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalCryptoAccount"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCryptoAccount"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/customers/{customer_uuid}/wallets/{wallet_uuid}/": {
      "get": {
        "tags": [
          "Customer Wallets"
        ],
        "summary": "Get Customer Wallet",
        "operationId": "get_v1_customers_customer_uuid_wallets_wallet_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "wallet_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer wallet UUID",
              "title": "Wallet Uuid"
            },
            "description": "Customer wallet UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCryptoAccount"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customer Wallets"
        ],
        "summary": "Update Customer Wallet",
        "operationId": "put_v1_customers_customer_uuid_wallets_wallet_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "wallet_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer wallet UUID",
              "title": "Wallet Uuid"
            },
            "description": "Customer wallet UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExternalCryptoAccount"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCryptoAccount"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Customer Wallets"
        ],
        "summary": "Delete Customer Wallet",
        "operationId": "delete_v1_customers_customer_uuid_wallets_wallet_uuid",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "wallet_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer wallet UUID",
              "title": "Wallet Uuid"
            },
            "description": "Customer wallet UUID"
          },
          {
            "name": "customer_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Customer UUID",
              "title": "Customer Uuid"
            },
            "description": "Customer UUID"
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/exchange-routes/": {
      "get": {
        "tags": [
          "Exchange Routes"
        ],
        "summary": "Get All Supported Exchange Routes",
        "operationId": "get_v1_exchange_routes",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ExchangeRoute"
                  },
                  "type": "array",
                  "title": "Response Get V1 Exchange Routes"
                }
              }
            }
          }
        },
        "security": [
          {
            "Api Key": []
          }
        ]
      }
    },
    "/v1/exchange-routes/check/": {
      "post": {
        "tags": [
          "Exchange Routes"
        ],
        "summary": "Check Exchange Route",
        "operationId": "post_v1_exchange_routes_check",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckExchangeRoutePayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckExchangeRouteResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "Api Key": []
          }
        ]
      }
    },
    "/v1/bank-providers/": {
      "get": {
        "tags": [
          "Bank Providers"
        ],
        "summary": "Get Bank Providers",
        "operationId": "get_v1_bank_providers",
        "security": [
          {
            "Api Key": []
          }
        ],
        "parameters": [
          {
            "name": "rail",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RailsCode"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by rail (sepa, swift, ach)",
              "title": "Rail"
            },
            "description": "Filter by rail (sepa, swift, ach)"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by bank country (ISO alpha-3, e.g. CHE, LTU)",
              "title": "Country"
            },
            "description": "Filter by bank country (ISO alpha-3, e.g. CHE, LTU)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BankProvider"
                  },
                  "title": "Response Get V1 Bank Providers"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestValidationErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountType": {
        "type": "string",
        "enum": [
          "trading",
          "internal_iban"
        ],
        "title": "AccountType"
      },
      "AssetCode": {
        "type": "string",
        "enum": [
          "EUR",
          "USD",
          "AED",
          "CHF",
          "GBP",
          "CAD",
          "AUD",
          "NZD",
          "CNY",
          "HKD",
          "JPY",
          "SGD",
          "THB",
          "ILS",
          "SAR",
          "ZAR",
          "PLN",
          "ETH",
          "BTC",
          "XLM",
          "TRX",
          "MYR",
          "USDT",
          "USDC",
          "EURS",
          "EURC"
        ],
        "title": "AssetCode"
      },
      "BankData": {
        "properties": {
          "iban": {
            "type": "string",
            "title": "Iban"
          },
          "bank_name": {
            "type": "string",
            "title": "Bank Name"
          },
          "bank_code": {
            "type": "string",
            "title": "Bank Code"
          },
          "bank_country": {
            "type": "string",
            "title": "Bank Country"
          },
          "holder_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Name",
            "description": "Payee name to put on the transfer (the Stablegate legal entity)"
          },
          "bank_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Address",
            "description": "Street address of the Stablegate bank that receives the transfer"
          }
        },
        "type": "object",
        "required": [
          "iban",
          "bank_name",
          "bank_code",
          "bank_country"
        ],
        "title": "BankData"
      },
      "BankInfo": {
        "properties": {
          "bank_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Name",
            "description": "Bank name. Null when the registry has no usable entry for the IBAN."
          },
          "bank_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Code",
            "description": "Bank BIC. Null when the registry has no entry for the IBAN."
          },
          "bank_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Country",
            "description": "ISO 3166-1 alpha-2 country code taken from the IBAN."
          }
        },
        "type": "object",
        "title": "BankInfo"
      },
      "BankProvider": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "bank_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BankProviderBankInfo"
              },
              {
                "type": "null"
              }
            ]
          },
          "rails": {
            "items": {
              "$ref": "#/components/schemas/BankProviderRail"
            },
            "type": "array",
            "title": "Rails",
            "default": []
          },
          "exchange_routes": {
            "items": {
              "$ref": "#/components/schemas/BankProviderExchangeRoute"
            },
            "type": "array",
            "title": "Exchange Routes",
            "default": []
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "name"
        ],
        "title": "BankProvider"
      },
      "BankProviderBankInfo": {
        "properties": {
          "bank_name": {
            "type": "string",
            "title": "Bank Name"
          },
          "bank_code": {
            "type": "string",
            "title": "Bank Code"
          },
          "bank_country": {
            "type": "string",
            "title": "Bank Country"
          },
          "bank_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Address"
          }
        },
        "type": "object",
        "required": [
          "bank_name",
          "bank_code",
          "bank_country"
        ],
        "title": "BankProviderBankInfo"
      },
      "BankProviderExchangeRoute": {
        "properties": {
          "source_asset": {
            "type": "string",
            "title": "Source Asset"
          },
          "destination_asset": {
            "type": "string",
            "title": "Destination Asset"
          }
        },
        "type": "object",
        "required": [
          "source_asset",
          "destination_asset"
        ],
        "title": "BankProviderExchangeRoute"
      },
      "BankProviderRail": {
        "properties": {
          "code": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "type": {
            "$ref": "#/components/schemas/RailsType"
          }
        },
        "type": "object",
        "required": [
          "code",
          "name",
          "type"
        ],
        "title": "BankProviderRail"
      },
      "Body_post_v1_customers_customer_uuid_check_limits": {
        "properties": {
          "source": {
            "$ref": "#/components/schemas/schemes__operation__fees__CommissionCheckPayload__Source-Input"
          },
          "destination": {
            "$ref": "#/components/schemas/schemes__operation__fees__CommissionCheckPayload__Destination-Input"
          }
        },
        "type": "object",
        "required": [
          "source",
          "destination"
        ],
        "title": "Body_post_v1_customers_customer_uuid_check_limits"
      },
      "CheckExchangeRoutePayload": {
        "properties": {
          "source": {
            "$ref": "#/components/schemas/Params"
          },
          "destination": {
            "$ref": "#/components/schemas/Params"
          }
        },
        "type": "object",
        "required": [
          "source",
          "destination"
        ],
        "title": "CheckExchangeRoutePayload"
      },
      "CheckExchangeRouteResponse": {
        "properties": {
          "available": {
            "type": "boolean",
            "title": "Available"
          },
          "route": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExchangeRoute"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "available"
        ],
        "title": "CheckExchangeRouteResponse"
      },
      "ClientExternalAccountStatus": {
        "type": "string",
        "enum": [
          "active",
          "sanctioned"
        ],
        "title": "ClientExternalAccountStatus"
      },
      "ClientKycApplicationStatus": {
        "type": "string",
        "enum": [
          "new",
          "waiting",
          "pending",
          "approved",
          "rejected",
          "cancelled"
        ],
        "title": "ClientKycApplicationStatus"
      },
      "ClientKycLevelInLegalEntity": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid4",
            "title": "Uuid"
          },
          "legal_entity_uuid": {
            "type": "string",
            "format": "uuid4",
            "title": "Legal Entity Uuid"
          },
          "key": {
            "type": "string",
            "title": "Key"
          },
          "client_type": {
            "$ref": "#/components/schemas/KycClientType"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "icon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icon"
          },
          "approval_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Date"
          },
          "approved_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserShort"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "legal_entity_uuid",
          "key",
          "client_type"
        ],
        "title": "ClientKycLevelInLegalEntity"
      },
      "ClientStatus": {
        "type": "string",
        "enum": [
          "new",
          "active",
          "blocked",
          "limited",
          "closed"
        ],
        "title": "ClientStatus"
      },
      "ClientType": {
        "type": "string",
        "enum": [
          "individual",
          "corporate"
        ],
        "title": "ClientType"
      },
      "ClientsQueryOrderBy": {
        "type": "string",
        "enum": [
          "id",
          "uuid",
          "client_id",
          "email",
          "phone",
          "username",
          "created_at",
          "full_name",
          "type",
          "email_verified",
          "country_code",
          "status",
          "kyc_level_key",
          "kyc_level_order",
          "risk_level_key",
          "risk_level_order",
          "partner_full_name",
          "partner_email",
          "user_first_name",
          "user_last_name",
          "user_email",
          "is_funded",
          "is_funded_updated_at",
          "accuity_sanctions",
          "accuity_sanctions_updated_at",
          "video_verification_passed",
          "video_verification_passed_updated_at",
          "first_deposit_date"
        ],
        "title": "ClientsQueryOrderBy"
      },
      "CommissionCheckPayload": {
        "properties": {
          "source": {
            "$ref": "#/components/schemas/schemes__operation__fees__CommissionCheckPayload__Source-Input"
          },
          "destination": {
            "$ref": "#/components/schemas/schemes__operation__fees__CommissionCheckPayload__Destination-Input"
          }
        },
        "type": "object",
        "required": [
          "source",
          "destination"
        ],
        "title": "CommissionCheckPayload"
      },
      "CommissionResponse": {
        "properties": {
          "source": {
            "$ref": "#/components/schemas/schemes__operation__fees__CommissionCheckPayload__Source-Output"
          },
          "destination": {
            "$ref": "#/components/schemas/schemes__operation__fees__CommissionCheckPayload__Destination-Output"
          },
          "commission": {
            "$ref": "#/components/schemas/schemes__operation__fees__CommissionResponse__Commission"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          }
        },
        "type": "object",
        "required": [
          "source",
          "destination",
          "commission"
        ],
        "title": "CommissionResponse"
      },
      "CreateClientRequest": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ClientType"
          },
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code"
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "company_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Name"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "external_reference": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Reference"
          }
        },
        "type": "object",
        "required": [
          "type",
          "email"
        ],
        "title": "CreateClientRequest"
      },
      "CreateExternalBankAccount": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "iban": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iban",
            "description": "IBAN for SEPA; spaces allowed. For other rails use account_number."
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "Account number for ACH, FedWire or SWIFT."
          },
          "supported_rails": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "sepa",
                    "swift",
                    "ach",
                    "wire"
                  ]
                },
                "type": "array",
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Supported Rails",
            "description": "Supported transfer types. Omitted or null means SEPA. FedWire is encoded as wire."
          },
          "bank_routing_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 9
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Routing Number",
            "description": "9-digit ABA routing number for US payments."
          },
          "bank_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Code",
            "description": "SWIFT/BIC. For SEPA derived from the IBAN when omitted or blank; not used for ACH/FedWire."
          },
          "bank_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Name",
            "description": "Bank name. For SEPA derived from the IBAN when omitted or blank."
          },
          "bank_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Country"
          },
          "bank_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Address"
          },
          "bank_city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank City"
          },
          "bank_postal_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Postal Code"
          },
          "bank_region": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Region"
          },
          "holder_name": {
            "type": "string",
            "title": "Holder Name"
          },
          "holder_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Country"
          },
          "holder_city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder City"
          },
          "holder_street": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Street"
          },
          "holder_postal_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Postal Code"
          },
          "holder_region": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Region"
          }
        },
        "type": "object",
        "required": [
          "holder_name"
        ],
        "title": "CreateExternalBankAccount"
      },
      "CreateExternalCryptoAccount": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "rail": {
            "$ref": "#/components/schemas/CryptoRailsCode"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "wallet_message": {
            "anyOf": [
              {
                "type": "string",
                "description": "\nHexbytes-encoded confirmation message. Required on Ethereum and Polygon.\n**NOTE** \"Signature time\" must not be older than 24h UTC.\n```js\nfunction stringToHex(str: string) {\n  let hex = '';\n  for (let i = 0; i < str.length; i++) {\n    hex += str.charCodeAt(i).toString(16);\n  }\n  return `0x${hex}`;\n}\nconst ts = new Date().toISOString();\nconst message =`I confirm the ownership of address ${signerAddress}. Signature time: ${ts}.`;\nconst wallet_message = stringToHex(message);\n```\n",
                "examples": [
                  "0x4920636f6e6669726d20746865206f776e657273686970206f662061646472657373203078444331644362343666433936433436633446323934383636364146434138313837343034316242322e205369676e61747572652074696d653a20323032342d30362d31345431343a34383a32382e3339335a2e"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Wallet Message"
          },
          "wallet_signature": {
            "anyOf": [
              {
                "type": "string",
                "description": "\nSigned confirmation message. Required on Ethereum and Polygon.\n```js\nconst ts = new Date().toISOString();\nconst message =`I confirm the ownership of address ${signerAddress}. Signature time: ${ts}.`;\n// https://docs.ethers.org/v5/api/signer/#Signer-signMessage\n// const signer = ...\nconst wallet_signature = await signer.signMessage(message);\n```\n",
                "examples": [
                  "0x861818884bbf61f8d83bc3052e6c513f939512852fc92067dde5845b392248c949812e44366158d91d73ac0e9588c56dfb1d59549c3cbad52cfe4884fdc15c361"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Wallet Signature"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "address"
        ],
        "title": "CreateExternalCryptoAccount"
      },
      "CreateOrder": {
        "properties": {
          "source": {
            "$ref": "#/components/schemas/schemes__operation__sellbuy__CreateOrder__Source"
          },
          "destination": {
            "$ref": "#/components/schemas/schemes__operation__sellbuy__CreateOrder__Destination"
          },
          "account_uuid": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Uuid"
          },
          "third_party_document_uuid": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Third Party Document Uuid",
            "description": "Uuid of an existing customer document of type proof_of_third_party_deal (category third_party_deals). Needed when the destination is a third-party bank account and the source amount is above the invoice threshold (15 000 EUR equivalent by default); each such order needs a document of its own. Without it the order is still created, with `third_party_document_required: true`, and is not executed automatically until the invoice is attached with `POST /customers/{customer_uuid}/orders/{order_uuid}/third-party-document/` or the operator executes it."
          }
        },
        "type": "object",
        "required": [
          "source",
          "destination"
        ],
        "title": "CreateOrder"
      },
      "CryptoRailsCode": {
        "type": "string",
        "enum": [
          "bitcoin",
          "ethereum",
          "algorand",
          "polygon",
          "ripple",
          "xinfin",
          "stellar",
          "tron"
        ],
        "title": "CryptoRailsCode"
      },
      "CustomerDetail": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "customer_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Id"
          },
          "external_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Reference"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "full_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Full Name"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClientType"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "$ref": "#/components/schemas/ClientStatus"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code"
          },
          "email_verified": {
            "type": "boolean",
            "title": "Email Verified"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "kyc_level": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClientKycLevelInLegalEntity"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_funded": {
            "type": "boolean",
            "title": "Is Funded"
          },
          "permissions": {
            "$ref": "#/components/schemas/CustomerPermissions"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "username",
          "state",
          "email_verified",
          "created_at",
          "is_funded",
          "permissions"
        ],
        "title": "CustomerDetail",
        "description": "Full customer profile including computed permissions."
      },
      "CustomerInList": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "customer_id": {
            "type": "string",
            "title": "Customer Id"
          },
          "external_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Reference"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "full_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Full Name"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          },
          "state": {
            "$ref": "#/components/schemas/ClientStatus"
          },
          "kyc_level": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClientKycLevelInLegalEntity"
              },
              {
                "type": "null"
              }
            ]
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "email_verified": {
            "type": "boolean",
            "title": "Email Verified"
          },
          "country_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Name"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "customer_id",
          "username",
          "state",
          "email_verified",
          "created_at"
        ],
        "title": "CustomerInList",
        "description": "Customer item in the list endpoint."
      },
      "CustomerPermissions": {
        "properties": {
          "can_trade": {
            "type": "boolean",
            "title": "Can Trade"
          },
          "can_download_aol": {
            "type": "boolean",
            "title": "Can Download Aol"
          }
        },
        "type": "object",
        "required": [
          "can_trade",
          "can_download_aol"
        ],
        "title": "CustomerPermissions",
        "description": "Permissions flags resolved for the customer."
      },
      "CustomerShortInfo": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "customer_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Id"
          },
          "external_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Reference"
          },
          "username": {
            "type": "string",
            "title": "Username"
          },
          "full_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Full Name"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClientType"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "$ref": "#/components/schemas/ClientStatus"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code"
          },
          "email_verified": {
            "type": "boolean",
            "title": "Email Verified"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "username",
          "state",
          "email_verified",
          "created_at"
        ],
        "title": "CustomerShortInfo",
        "description": "Returned after customer creation."
      },
      "DepositStatus": {
        "type": "string",
        "enum": [
          "received",
          "confirmed",
          "credited",
          "on_hold",
          "rejected"
        ],
        "title": "DepositStatus"
      },
      "ExchangeRoute": {
        "properties": {
          "source": {
            "$ref": "#/components/schemas/RouteCombination"
          },
          "destination": {
            "$ref": "#/components/schemas/RouteCombination"
          }
        },
        "type": "object",
        "required": [
          "source",
          "destination"
        ],
        "title": "ExchangeRoute"
      },
      "ExternalBankAccount": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "iban": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iban"
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number"
          },
          "supported_rails": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "sepa",
                    "swift",
                    "ach",
                    "wire"
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Supported Rails"
          },
          "bank_routing_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Routing Number"
          },
          "bank_city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank City"
          },
          "bank_postal_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Postal Code"
          },
          "bank_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Region"
          },
          "holder_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Country"
          },
          "holder_city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder City"
          },
          "holder_street": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Street"
          },
          "holder_postal_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Postal Code"
          },
          "holder_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Region"
          },
          "bank_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Name"
          },
          "bank_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Code"
          },
          "bank_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Country"
          },
          "bank_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Address"
          },
          "holder_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Name"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "created_at",
          "updated_at"
        ],
        "title": "ExternalBankAccount"
      },
      "ExternalCryptoAccount": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "rail": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CryptoRailsCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address"
          },
          "status": {
            "$ref": "#/components/schemas/ClientExternalAccountStatus"
          },
          "verified_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verified At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "status",
          "created_at",
          "updated_at"
        ],
        "title": "ExternalCryptoAccount"
      },
      "ImportVerificationData": {
        "properties": {
          "share_token": {
            "type": "string",
            "title": "Share Token"
          }
        },
        "type": "object",
        "required": [
          "share_token"
        ],
        "title": "ImportVerificationData"
      },
      "InstantVerification": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid4",
            "title": "Uuid",
            "description": "KYC application UUID"
          },
          "status": {
            "$ref": "#/components/schemas/ClientKycApplicationStatus",
            "description": "KYC application status"
          },
          "kyc_level_key": {
            "type": "string",
            "title": "Kyc Level Key",
            "description": "Key of the KYC level the application was submitted for"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "status",
          "kyc_level_key"
        ],
        "title": "InstantVerification"
      },
      "InstantVerificationRequest": {
        "properties": {
          "first_name": {
            "type": "string",
            "minLength": 1,
            "title": "First Name",
            "description": "Customer's legal first name"
          },
          "last_name": {
            "type": "string",
            "minLength": 1,
            "title": "Last Name",
            "description": "Customer's legal last name"
          },
          "date_of_birth": {
            "type": "string",
            "format": "date",
            "title": "Date Of Birth",
            "description": "Customer's date of birth, ISO 8601 format (YYYY-MM-DD)"
          }
        },
        "type": "object",
        "required": [
          "first_name",
          "last_name",
          "date_of_birth"
        ],
        "title": "InstantVerificationRequest"
      },
      "InternalAccountShort": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "type": {
            "$ref": "#/components/schemas/AccountType"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "type"
        ],
        "title": "InternalAccountShort"
      },
      "KycClientType": {
        "type": "string",
        "enum": [
          "individual",
          "corporate",
          "all"
        ],
        "title": "KycClientType"
      },
      "Limit": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "kyc_level_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kyc Level Key"
          },
          "risk_level_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Risk Level Key"
          },
          "limit_amount": {
            "type": "string",
            "title": "Limit Amount"
          },
          "limit_rule": {
            "$ref": "#/components/schemas/LimitRule"
          },
          "is_overridden": {
            "type": "boolean",
            "title": "Is Overridden",
            "default": false
          },
          "is_custom_limit": {
            "type": "boolean",
            "title": "Is Custom Limit",
            "default": false
          },
          "used_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Used Amount"
          },
          "available_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Available Amount"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "limit_amount",
          "limit_rule"
        ],
        "title": "Limit"
      },
      "LimitCheckAdapterResponse": {
        "properties": {
          "limit_rule": {
            "$ref": "#/components/schemas/LimitRule"
          },
          "limit_amount": {
            "type": "string",
            "title": "Limit Amount"
          },
          "used_amount": {
            "type": "string",
            "title": "Used Amount"
          },
          "available_amount": {
            "type": "string",
            "title": "Available Amount"
          },
          "excess_amount": {
            "type": "string",
            "title": "Excess Amount"
          },
          "error_msg": {
            "type": "string",
            "title": "Error Msg",
            "default": ""
          }
        },
        "type": "object",
        "required": [
          "limit_rule",
          "limit_amount",
          "used_amount",
          "available_amount",
          "excess_amount"
        ],
        "title": "LimitCheckAdapterResponse"
      },
      "LimitPeriod": {
        "type": "string",
        "enum": [
          "month",
          "quarter",
          "year",
          "day",
          "lifetime"
        ],
        "title": "LimitPeriod"
      },
      "LimitRule": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "scope": {
            "$ref": "#/components/schemas/LimitScope"
          },
          "period": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LimitPeriod"
              },
              {
                "type": "null"
              }
            ]
          },
          "rail_types": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/RailsType"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Types"
          },
          "rail_codes": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/RailsCode"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Codes"
          },
          "operation_types": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/OperationType"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Operation Types"
          },
          "asset_codes": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/AssetCode"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asset Codes"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "name",
          "scope"
        ],
        "title": "LimitRule"
      },
      "LimitScope": {
        "type": "string",
        "enum": [
          "operation",
          "period",
          "operation_min_amount"
        ],
        "title": "LimitScope"
      },
      "OperationType": {
        "type": "string",
        "enum": [
          "funding",
          "payout",
          "swap",
          "external_deposit",
          "external_exchange",
          "external_withdrawal",
          "opening_balance",
          "internal_transfer",
          "external_transfer",
          "subaccount_transfer",
          "incoming_wire_transfer",
          "outgoing_wire_transfer",
          "fee",
          "bank_charge",
          "adjustment"
        ],
        "title": "OperationType"
      },
      "OperationalWalletResponse": {
        "properties": {
          "address": {
            "type": "string",
            "title": "Address"
          },
          "segwit_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Segwit Address"
          }
        },
        "type": "object",
        "required": [
          "address"
        ],
        "title": "OperationalWalletResponse"
      },
      "OrderDetail": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "reference": {
            "type": "string",
            "title": "Reference"
          },
          "state": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "deposit_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deposit Address"
          },
          "source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/schemes__operation__sellbuy__OrderDetail__Source"
              },
              {
                "type": "null"
              }
            ]
          },
          "destination": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/schemes__operation__sellbuy__OrderDetail__Destination"
              },
              {
                "type": "null"
              }
            ]
          },
          "commission": {
            "$ref": "#/components/schemas/schemes__operation__sellbuy__OrderDetail__Commission"
          },
          "account": {
            "$ref": "#/components/schemas/InternalAccountShort"
          },
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          },
          "third_party_document_required": {
            "type": "boolean",
            "title": "Third Party Document Required",
            "description": "The destination is a third-party bank account and the source amount is above the invoice threshold. Until its invoice is attached (`third_party_document_uuid` on creation or `POST .../orders/{order_uuid}/third-party-document/`), such an order is not executed automatically: it waits for the operator.",
            "default": false
          },
          "third_party_document_uuid": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Third Party Document Uuid",
            "description": "The invoice (customer document of type proof_of_third_party_deal) attached to the order."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "valid_until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Valid Until"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate",
            "description": "Exchange rate currently applied to the order: destination asset units per one source asset unit, the same value `check-fees` returns. Re-priced until the deposit arrives; `null` when the order has no exchange step."
          },
          "rate_valid_until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate Valid Until",
            "description": "Time until which `exchange_rate` and `destination.amount` are held. While the order is `new` and unfunded they are recalculated after this time; `null` once the deposit is received or for orders that are not re-priced."
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "reference",
          "state",
          "commission",
          "account",
          "created_at"
        ],
        "title": "OrderDetail"
      },
      "OrderList": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "reference": {
            "type": "string",
            "title": "Reference"
          },
          "legal_entity_uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Legal Entity Uuid"
          },
          "account": {
            "$ref": "#/components/schemas/InternalAccountShort"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "deposit_address": {
            "type": "string",
            "title": "Deposit Address"
          },
          "incoming_rails": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Rails"
              },
              {
                "type": "null"
              }
            ]
          },
          "incoming_provider": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Provider"
              },
              {
                "type": "null"
              }
            ]
          },
          "incoming_asset_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AssetCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "incoming_amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Incoming Amount"
          },
          "outgoing_rails": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Rails"
              },
              {
                "type": "null"
              }
            ]
          },
          "outgoing_provider": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Provider"
              },
              {
                "type": "null"
              }
            ]
          },
          "outgoing_asset_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AssetCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "outgoing_amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Outgoing Amount"
          },
          "outgoing_client_account": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Outgoing Client Account"
          },
          "commission_amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Commission Amount"
          },
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "reference",
          "legal_entity_uuid",
          "account",
          "status",
          "deposit_address",
          "created_at"
        ],
        "title": "OrderList"
      },
      "OrderQueryOrderBy": {
        "type": "string",
        "enum": [
          "id",
          "external_id",
          "created_at",
          "updated_at",
          "deleted_at",
          "created_by",
          "account_id",
          "incoming_rails_code",
          "outgoing_rails_code",
          "incoming_rails_type",
          "outgoing_rails_type",
          "incoming_asset_code",
          "outgoing_asset_code",
          "holding_uuid",
          "client_uuid",
          "legal_entity_uuid",
          "incoming_amount",
          "outgoing_amount",
          "status",
          "is_approved",
          "account_code",
          "account_name",
          "account_type"
        ],
        "title": "OrderQueryOrderBy"
      },
      "OrderStatus": {
        "type": "string",
        "enum": [
          "new",
          "processing",
          "done",
          "hold",
          "failed",
          "rejected",
          "rollbacked",
          "cancelled",
          "stopped"
        ],
        "title": "OrderStatus"
      },
      "Params": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset_code": {
            "$ref": "#/components/schemas/AssetCode"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset_code"
        ],
        "title": "Params"
      },
      "PipelineType": {
        "type": "string",
        "enum": [
          "Buy EURS",
          "Sell EURS",
          "Bridge EURS",
          "OTC",
          "Onboarding",
          "External"
        ],
        "title": "PipelineType"
      },
      "Provider": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "title": "Uuid"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "type": {
            "$ref": "#/components/schemas/ProviderType"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "is_default": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Default"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "name",
          "type"
        ],
        "title": "Provider"
      },
      "ProviderType": {
        "type": "string",
        "enum": [
          "external",
          "internal",
          "bank",
          "crypto",
          "card",
          "cex",
          "dex",
          "all"
        ],
        "title": "ProviderType"
      },
      "QuerySortOrder": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "title": "QuerySortOrder"
      },
      "Rails": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "type": {
            "$ref": "#/components/schemas/RailsType"
          }
        },
        "type": "object",
        "required": [
          "code",
          "name",
          "type"
        ],
        "title": "Rails"
      },
      "RailsCode": {
        "type": "string",
        "enum": [
          "bitcoin",
          "sepa",
          "sepa_instant",
          "swift",
          "ach",
          "wire",
          "visa",
          "mastercard",
          "ethereum",
          "algorand",
          "polygon",
          "ripple",
          "xinfin",
          "stellar",
          "tron"
        ],
        "title": "RailsCode"
      },
      "RailsType": {
        "type": "string",
        "enum": [
          "bank",
          "crypto",
          "card",
          "all"
        ],
        "title": "RailsType"
      },
      "RouteAsset": {
        "properties": {
          "code": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "fraction_digits": {
            "type": "integer",
            "title": "Fraction Digits"
          }
        },
        "type": "object",
        "required": [
          "code",
          "fraction_digits"
        ],
        "title": "RouteAsset"
      },
      "RouteCombination": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/RouteAsset"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset"
        ],
        "title": "RouteCombination"
      },
      "UpdateExternalBankAccount": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "iban": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iban",
            "description": "IBAN for SEPA; spaces allowed. For other rails use account_number."
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "Account number for ACH, FedWire or SWIFT."
          },
          "supported_rails": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "sepa",
                    "swift",
                    "ach",
                    "wire"
                  ]
                },
                "type": "array",
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Supported Rails",
            "description": "Supported transfer types. Omitted or null means SEPA. FedWire is encoded as wire."
          },
          "bank_routing_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 9
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Routing Number",
            "description": "9-digit ABA routing number for US payments."
          },
          "bank_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Code",
            "description": "SWIFT/BIC. For SEPA derived from the IBAN when omitted or blank; not used for ACH/FedWire."
          },
          "bank_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Name",
            "description": "Bank name. For SEPA derived from the IBAN when omitted or blank."
          },
          "bank_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Country"
          },
          "bank_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Address"
          },
          "bank_city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank City"
          },
          "bank_postal_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Postal Code"
          },
          "bank_region": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Region"
          },
          "holder_name": {
            "type": "string",
            "title": "Holder Name"
          },
          "holder_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Country"
          },
          "holder_city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder City"
          },
          "holder_street": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Street"
          },
          "holder_postal_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Postal Code"
          },
          "holder_region": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Holder Region"
          }
        },
        "type": "object",
        "required": [
          "holder_name"
        ],
        "title": "UpdateExternalBankAccount"
      },
      "UpdateExternalCryptoAccount": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "rail": {
            "$ref": "#/components/schemas/CryptoRailsCode"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "wallet_message": {
            "anyOf": [
              {
                "type": "string",
                "description": "\nHexbytes-encoded confirmation message. Required on Ethereum and Polygon.\n**NOTE** \"Signature time\" must not be older than 24h UTC.\n```js\nfunction stringToHex(str: string) {\n  let hex = '';\n  for (let i = 0; i < str.length; i++) {\n    hex += str.charCodeAt(i).toString(16);\n  }\n  return `0x${hex}`;\n}\nconst ts = new Date().toISOString();\nconst message =`I confirm the ownership of address ${signerAddress}. Signature time: ${ts}.`;\nconst wallet_message = stringToHex(message);\n```\n",
                "examples": [
                  "0x4920636f6e6669726d20746865206f776e657273686970206f662061646472657373203078444331644362343666433936433436633446323934383636364146434138313837343034316242322e205369676e61747572652074696d653a20323032342d30362d31345431343a34383a32382e3339335a2e"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Wallet Message"
          },
          "wallet_signature": {
            "anyOf": [
              {
                "type": "string",
                "description": "\nSigned confirmation message. Required on Ethereum and Polygon.\n```js\nconst ts = new Date().toISOString();\nconst message =`I confirm the ownership of address ${signerAddress}. Signature time: ${ts}.`;\n// https://docs.ethers.org/v5/api/signer/#Signer-signMessage\n// const signer = ...\nconst wallet_signature = await signer.signMessage(message);\n```\n",
                "examples": [
                  "0x861818884bbf61f8d83bc3052e6c513f939512852fc92067dde5845b392248c949812e44366158d91d73ac0e9588c56dfb1d59549c3cbad52cfe4884fdc15c361"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Wallet Signature"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "address"
        ],
        "title": "UpdateExternalCryptoAccount"
      },
      "UserShort": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid4",
            "title": "Uuid"
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          }
        },
        "type": "object",
        "required": [
          "uuid"
        ],
        "title": "UserShort"
      },
      "VerificationLink": {
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid4",
            "title": "Uuid"
          },
          "url": {
            "type": "string",
            "minLength": 1,
            "format": "uri",
            "title": "Url"
          },
          "token": {
            "type": "string",
            "title": "Token"
          }
        },
        "type": "object",
        "required": [
          "uuid",
          "url",
          "token"
        ],
        "title": "VerificationLink"
      },
      "schemes__operation__fees__CommissionCheckPayload__Destination-Input": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset"
        ],
        "title": "Destination"
      },
      "schemes__operation__fees__CommissionCheckPayload__Destination-Output": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset"
        ],
        "title": "Destination"
      },
      "schemes__operation__fees__CommissionCheckPayload__Source-Input": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset"
        ],
        "title": "Source"
      },
      "schemes__operation__fees__CommissionCheckPayload__Source-Output": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset"
        ],
        "title": "Source"
      },
      "schemes__operation__fees__CommissionResponse__Commission": {
        "properties": {
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "type": "string",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "asset",
          "amount"
        ],
        "title": "Commission"
      },
      "schemes__operation__sellbuy__CreateOrder__Destination": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "client_account": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Account"
          },
          "client_account_uuid": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Account Uuid"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset"
        ],
        "title": "Destination"
      },
      "schemes__operation__sellbuy__CreateOrder__Source": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              }
            ],
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset",
          "amount"
        ],
        "title": "Source"
      },
      "schemes__operation__sellbuy__OrderDetail__Commission": {
        "properties": {
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "asset",
          "amount"
        ],
        "title": "Commission"
      },
      "schemes__operation__sellbuy__OrderDetail__Destination": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "type": "string",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Amount"
          },
          "client_account": {
            "type": "string",
            "title": "Client Account"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset",
          "amount",
          "client_account"
        ],
        "title": "Destination"
      },
      "schemes__operation__sellbuy__OrderDetail__Source": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailsCode"
          },
          "asset": {
            "$ref": "#/components/schemas/AssetCode"
          },
          "amount": {
            "type": "string",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Amount"
          },
          "deposit_bank_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BankData"
              },
              {
                "type": "null"
              }
            ]
          },
          "transaction_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Hash",
            "description": "Blockchain transaction hash of the crypto deposit. Present once the deposit is detected; null for bank and card rails."
          },
          "deposit_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepositStatus"
              },
              {
                "type": "null"
              }
            ],
            "description": "Status of the customer's deposit for this order: `received`, `confirmed`, `credited`, `on_hold` or `rejected`. `null` until a deposit is detected."
          }
        },
        "type": "object",
        "required": [
          "rail",
          "asset",
          "amount"
        ],
        "title": "Source"
      },
      "DevApiErrorCode": {
        "enum": [
          "devapi_internal_error",
          "devapi_request_validation_error",
          "devapi_iban_parse_error",
          "devapi_customer_close_error",
          "devapi_bank_code_required_error",
          "devapi_download_aol_error",
          "devapi_not_found_error",
          "devapi_bad_request_error",
          "devapi_email_occupied_error",
          "devapi_idempotency_invalid_key",
          "devapi_idempotency_key_misuse",
          "devapi_idempotency_request_in_progress",
          "devapi_kyc_application_link_error",
          "devapi_instant_verification_error",
          "devapi_unauthorized_error",
          "devapi_forbidden_error",
          "devapi_method_not_allowed_error",
          "devapi_service_unavailable_error"
        ],
        "title": "DevApiErrorCode",
        "type": "string"
      },
      "PydanticModelError": {
        "properties": {
          "loc": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Loc"
          },
          "msg": {
            "title": "Msg",
            "type": "string"
          },
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "PydanticModelError",
        "type": "object"
      },
      "RequestValidationErrorResponse": {
        "description": "Body of the `422` response returned when the request fails validation.\n\n`error_code` is `devapi_request_validation_error`, and `details` lists one entry per invalid field: `loc` is where the problem is, `msg` says what is wrong, `type` is the kind of error.",
        "properties": {
          "trace_id": {
            "title": "Trace Id",
            "type": "string"
          },
          "error_code": {
            "$ref": "#/components/schemas/DevApiErrorCode"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/PydanticModelError"
            },
            "title": "Details",
            "type": "array"
          }
        },
        "required": [
          "trace_id",
          "error_code",
          "message",
          "details"
        ],
        "title": "RequestValidationErrorResponse",
        "type": "object"
      }
    },
    "securitySchemes": {
      "Api Key": {
        "type": "apiKey",
        "description": "API key generated in the Developers section of the Stablegate app. Send it in the `X-Api-Key` header on every request; the partner API does not require request signing.",
        "in": "header",
        "name": "X-Api-Key"
      }
    }
  }
}
