{
  "openapi": "3.0.1",
  "info": {
    "title": "WebApp",
    "version": "v1"
  },
  "paths": {
    "/api/affiliate/inviters/search": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/inviters/my": {
      "post": {
        "tags": [
          "ApiAffiliate"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SetInviterRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetInviterRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetInviterRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetInviterRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/inviters/{inviteCode}": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "parameters": [
          {
            "name": "inviteCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/inviters/{id}": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/invite-code": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/ambassadors/info": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/ambassadors/links": {
      "post": {
        "tags": [
          "ApiAffiliate"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAmbassadorReferralLinkRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAmbassadorReferralLinkRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAmbassadorReferralLinkRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAmbassadorReferralLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/{id}/user-info": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/accruals": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profitType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ProfitType"
            }
          },
          {
            "name": "profitTypes",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProfitType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/accruals/summary": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profitType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ProfitType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/accruals/filters": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/accrual-groups": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "parameters": [
          {
            "name": "sinceDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "maxLevel",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/accruals/breakdown": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "summary": "\"What the sum is made of\": per-referral breakdown of the current user's staking referral bonus for a period.",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/accruals/explain": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "summary": "\"Why the sum changed\": concrete reasons for the change of the current user's staking referral bonus\r\n            versus the immediately preceding equal-length period.",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/affiliate/total-accruals": {
      "get": {
        "tags": [
          "ApiAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/apikeys": {
      "get": {
        "tags": [
          "ApiApiKeys"
        ],
        "summary": "Get list of API-keys with their settings",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "post": {
        "tags": [
          "ApiApiKeys"
        ],
        "summary": "Create new API-key",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyPairCreationRequestViewModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyPairCreationRequestViewModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyPairCreationRequestViewModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyPairCreationRequestViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/apikeys/{publicKey}": {
      "delete": {
        "tags": [
          "ApiApiKeys"
        ],
        "summary": "Delete API-key",
        "parameters": [
          {
            "name": "publicKey",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/avatars": {
      "get": {
        "tags": [
          "ApiAvatars"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/avatars/{avatarId}": {
      "get": {
        "tags": [
          "ApiAvatars"
        ],
        "parameters": [
          {
            "name": "avatarId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/avatars/my": {
      "get": {
        "tags": [
          "ApiAvatars"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "post": {
        "tags": [
          "ApiAvatars"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/payment-cards/webhooks/bananatech": {
      "post": {
        "tags": [
          "ApiBananatechWebhook"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/my/binichain/connect": {
      "post": {
        "tags": [
          "ApiBiniChainConnect"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/BiniChainConnectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BiniChainConnectRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BiniChainConnectRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BiniChainConnectRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BiniChainConnectResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BiniChainConnectResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BiniChainConnectResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/chat": {
      "get": {
        "tags": [
          "ApiChat"
        ],
        "summary": "Get 50 last chat messages and user claims",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatViewModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/client-logs": {
      "post": {
        "tags": [
          "ApiClientLogs"
        ],
        "summary": "Accepts a single client log event. Always returns 204:\r\nsendBeacon ignores the response anyway, and we never want to surface\r\nvalidation issues back to the user.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ClientLogEvent"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientLogEvent"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientLogEvent"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ClientLogEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currencies": {
      "get": {
        "tags": [
          "ApiCurrencies"
        ],
        "parameters": [
          {
            "name": "onlyVisible",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/currencies/icons/{code}": {
      "get": {
        "tags": [
          "ApiCurrencies"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CurrencyListingStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "post": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "put": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyListingCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/all": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CurrencyListingStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/codes": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}/token-owners/count": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-listings/deploy/{currencyCode}": {
      "put": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}/total-supply": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}/authorship": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}/comments": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}/comments/count": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/comments": {
      "post": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}/news/count": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/{currencyCode}/news": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/news/{id}/likes": {
      "put": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/news/{id}/comments": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/news/{id}/comments/count": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/news/comments": {
      "post": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsCommentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/news/comments/{id}/likes": {
      "put": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/news": {
      "post": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "put": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/image/{id}": {
      "get": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-listings/image": {
      "put": {
        "tags": [
          "ApiCurrencyListings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UploadImage"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadImage"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadImage"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UploadImage"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-offerings": {
      "get": {
        "tags": [
          "ApiCurrencyOfferings"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyOffering"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyOffering"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyOffering"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-offerings/{code}": {
      "get": {
        "tags": [
          "ApiCurrencyOfferings"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyOffering"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyOffering"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyOffering"
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-offerings/{code}/total-sales": {
      "get": {
        "tags": [
          "ApiCurrencyOfferings"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              },
              "application/json": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              },
              "text/json": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-offerings/purchases/price": {
      "get": {
        "tags": [
          "ApiCurrencyOfferings"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payingCurrencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              },
              "application/json": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              },
              "text/json": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-offerings/purchases": {
      "get": {
        "tags": [
          "ApiCurrencyOfferings"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyOfferingPurchase"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyOfferingPurchase"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyOfferingPurchase"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiCurrencyOfferings"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyOfferingPurchaseDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyOfferingPurchaseDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyOfferingPurchaseDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyOfferingPurchaseDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyOfferingPurchase"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyOfferingPurchase"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyOfferingPurchase"
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-pairs": {
      "get": {
        "tags": [
          "ApiCurrencyPairs"
        ],
        "summary": "Get list currency pairs",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyPair"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-pairs/price-and-volume": {
      "get": {
        "tags": [
          "ApiCurrencyPairs"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyPairData"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-pairs/commissions": {
      "get": {
        "tags": [
          "ApiCurrencyPairs"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommissionsInfo"
                }
              }
            }
          }
        }
      }
    },
    "/api/currency-pairs/favorite-pairs": {
      "get": {
        "tags": [
          "ApiCurrencyPairs"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/currency-pairs/favorite-pairs/{currencyPairCode}": {
      "post": {
        "tags": [
          "ApiCurrencyPairs"
        ],
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "delete": {
        "tags": [
          "ApiCurrencyPairs"
        ],
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/deals/main/{currencyPairCode}": {
      "get": {
        "tags": [
          "ApiDeals"
        ],
        "summary": "Get history of trades for CurrencyPair",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sinceDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealHistory"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/deals/main": {
      "get": {
        "tags": [
          "ApiDeals"
        ],
        "summary": "Get history of trades",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sinceDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealHistory"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/deals/users/{currencyPairCode}": {
      "get": {
        "tags": [
          "ApiDeals"
        ],
        "summary": "Get history of trades for user per CurrencyPair",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sinceDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/deals/users": {
      "get": {
        "tags": [
          "ApiDeals"
        ],
        "summary": "Get history of trades for user",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sinceDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/deals/total-daily-volume-usdt": {
      "get": {
        "tags": [
          "ApiDeals"
        ],
        "summary": "Get total daily trading volume in USDT",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              }
            }
          }
        }
      }
    },
    "/api/external-payments": {
      "get": {
        "tags": [
          "ApiExternalPayments"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "put": {
        "tags": [
          "ApiExternalPayments"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalPayment"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalPayment"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalPayment"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalPayment"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/external-payments/files": {
      "get": {
        "tags": [
          "ApiExternalPayments"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "put": {
        "tags": [
          "ApiExternalPayments"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/external-payments/files/{id}": {
      "get": {
        "tags": [
          "ApiExternalPayments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/faq": {
      "get": {
        "tags": [
          "ApiFaq"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FaqQuestion"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/users/finances-info": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Get UserDeals / Refills / Withdrawals",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/finance/history": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Get user's deposits and withdrawals list",
        "parameters": [
          {
            "name": "onlyCash",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "txTypeFilter",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/HistoryTxType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/finance/transactions/{txId}": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "parameters": [
          {
            "name": "txId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/finance/cash/count": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Get user's cash deposits and withdrawals active count",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/balances": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Get user balances",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/deposit-info/{currencyCode}": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Get information for deposit",
        "parameters": [
          {
            "name": "currencyCode",
            "in": "path",
            "description": "сurrencyCode",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "adapterCode",
            "in": "query",
            "description": "code of crypto-adapter",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/deposits/cash": {
      "post": {
        "tags": [
          "ApiFinance"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CashDeposit"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CashDeposit"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CashDeposit"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CashDeposit"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/deposits/cash/{id}": {
      "delete": {
        "tags": [
          "ApiFinance"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/withdrawal/calculate-commission": {
      "post": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Calculate withdrawal commission",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalCommissionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalCommissionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalCommissionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalCommissionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawalCommissionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/withdrawals/limits": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WithdrawalLimitApi"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/withdrawals/confirmation/email": {
      "post": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Send withdrawal 2FA code to user email",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/withdrawal": {
      "post": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Withdraw money",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawalRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/withdrawals/{id}": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "delete": {
        "tags": [
          "ApiFinance"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/withdrawals/by-transaction-id/{transactionId}": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/finance/public-id": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "When user creates new cash deposit or cash withdrawal, they see public id before creation",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/withdrawals/2fa/status": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/internal-transfer/2fa/status": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/internal-transfer/confirmation/email": {
      "post": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Send internal transfer 2FA code to user email",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/internal-transfer/recipient/{publicId}": {
      "get": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Lookup internal transfer recipient by UID (PublicId)",
        "parameters": [
          {
            "name": "publicId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecipientInfo"
                }
              }
            }
          }
        }
      }
    },
    "/api/internal-transfer": {
      "post": {
        "tags": [
          "ApiFinance"
        ],
        "summary": "Send internal transfer to another user by UID",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InternalTransferRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InternalTransferRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InternalTransferRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InternalTransferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/candles": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Свечи — публичная маркет-дата, авторизация не нужна",
        "parameters": [
          {
            "name": "DateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "CurrencyPair",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CandleTimePeriod",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CandleTimePeriod"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/currency-pair": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Список торгуемых пар — публичная маркет-дата",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/trade/price-and-volume": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Цена и объём за сутки — публичная маркет-дата",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/orderbook/{currencyPairCode}": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Стакан пары — публичная маркет-дата",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/settings/global": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Глобальные настройки фьючерсов (плечо, лимиты счетов) — публичная",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/trade": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Публичная лента сделок",
        "parameters": [
          {
            "name": "UserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CurrencyPair",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FuturesAccountId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/trade/user": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Сделки пользователя",
        "parameters": [
          {
            "name": "UserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CurrencyPair",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FuturesAccountId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/transaction-history": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "История переводов между спотом и фьючерсными счетами",
        "parameters": [
          {
            "name": "UserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "FuturesAccountId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/TransactionHistoryType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/account/update-futures-account": {
      "put": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Изменить плечо и имя фьючерсного счёта",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesAccountUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesAccountUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesAccountUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesAccountUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/account/transfer-from-spot": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Перевод со спота на фьючерсный счёт. Требует заголовок Idempotency-Key",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/account/transfer-to-spot": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Перевод с фьючерсного счёта на спот. Требует заголовок Idempotency-Key",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesTransferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/account/futures-transfers/{transferId}": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Статус перевода: state перечитывается до Completed/Failed",
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/account/futures-accounts": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Фьючерсные счета пользователя. Заводит счёт по умолчанию, если счетов нет",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/create": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Создать ордер",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCreateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/close": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Закрыть ордер/позицию",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCancelRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCancelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCancelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderCancelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/close-all": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Закрыть все позиции и снять все ордера счёта",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersCancelAllRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersCancelAllRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersCancelAllRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersCancelAllRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/update-stop-loss": {
      "put": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Изменить стоп-лосс ордера",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderStopLossRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderStopLossRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderStopLossRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderStopLossRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/update-take-profit": {
      "put": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Изменить тейк-профит ордера",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderTakeProfitRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderTakeProfitRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderTakeProfitRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrderTakeProfitRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/account/create-futures-account": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Создать фьючерсный счёт. Бэк принимает только USDT",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFuturesAccountForm"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFuturesAccountForm"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFuturesAccountForm"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFuturesAccountForm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/positions": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Позиции пользователя",
        "parameters": [
          {
            "name": "UserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CurrencyPair",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FuturesAccountId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "IsActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/position-summary": {
      "get": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Сводка по позициям счёта",
        "parameters": [
          {
            "name": "UserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "FuturesAccountId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/order/orders-history": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "История ордеров пользователя",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersHistoryRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersHistoryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersHistoryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FuturesOrdersHistoryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/futures/notify": {
      "post": {
        "tags": [
          "ApiFutures"
        ],
        "summary": "Приём событий от Stock.Futures и ретрансляция в хабы.\r\nТолько изнутри периметра — как trades/notify; путь наружу не whitelist-ится.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FuturesNotification"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FuturesNotification"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FuturesNotification"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FuturesNotification"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/healthcheck": {
      "get": {
        "tags": [
          "ApiHealthcheck"
        ],
        "summary": "Returns assembly name to check if service is alive",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/healthcheck/scheme": {
      "get": {
        "tags": [
          "ApiHealthcheck"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/healthcheck/headers": {
      "get": {
        "tags": [
          "ApiHealthcheck"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/helpdesk/files/{fileId}": {
      "get": {
        "tags": [
          "ApiHelpdeskFiles"
        ],
        "parameters": [
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/helpdesk/files": {
      "post": {
        "tags": [
          "ApiHelpdeskFiles"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "ContentType": {
                    "type": "string"
                  },
                  "ContentDisposition": {
                    "type": "string"
                  },
                  "Headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "Length": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "Name": {
                    "type": "string"
                  },
                  "FileName": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "ContentType": {
                  "style": "form"
                },
                "ContentDisposition": {
                  "style": "form"
                },
                "Headers": {
                  "style": "form"
                },
                "Length": {
                  "style": "form"
                },
                "Name": {
                  "style": "form"
                },
                "FileName": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/tickets": {
      "get": {
        "tags": [
          "ApiHelpdeskTickets"
        ],
        "summary": "Get list of helpdesk tickets",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HelpdeskTicket"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiHelpdeskTickets"
        ],
        "summary": "Create new support ticket",
        "requestBody": {
          "description": "header, message, optional fileIds",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TicketAddViewModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TicketAddViewModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TicketAddViewModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TicketAddViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/tickets/{ticketId}": {
      "get": {
        "tags": [
          "ApiHelpdeskTickets"
        ],
        "summary": "Get ticket",
        "parameters": [
          {
            "name": "ticketId",
            "in": "path",
            "description": "Ticket Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HelpdeskTicket"
                }
              }
            }
          }
        }
      }
    },
    "/api/tickets/message": {
      "post": {
        "tags": [
          "ApiHelpdeskTickets"
        ],
        "summary": "Send message for ticket",
        "requestBody": {
          "description": "TicketId, Message",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/tickets/reply-notifications": {
      "post": {
        "tags": [
          "ApiHelpdeskTickets"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddTicketMessageDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/tickets/{ticketId}/attachments/{fileId}": {
      "get": {
        "tags": [
          "ApiHelpdeskTickets"
        ],
        "summary": "Proxy Telegram attachment bytes from support-bot for admin UI.",
        "parameters": [
          {
            "name": "ticketId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/mobile-apps/versions/latest": {
      "get": {
        "tags": [
          "ApiMobileApps"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppVersionDto"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiMobileApps"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppVersionCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppVersionCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppVersionCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppVersionCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/news": {
      "get": {
        "tags": [
          "ApiNews"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NewsItemViewModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/news/{id}": {
      "get": {
        "tags": [
          "ApiNews"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewsItemViewModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/trading-info": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Get all info for trading page: orders, deals, commissions, currency pairs, etc",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "query",
            "description": "Currency pair code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TradesMainViewModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/orders/spreads/{currencyPairsStr}": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "parameters": [
          {
            "name": "currencyPairsStr",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PriceSpread"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/orders/book/{currencyPairCode}": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Get orderbook (40 bids + 40 asks)",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "description": "currency pair code",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderbookLevel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/orders/bids/{currencyPairCode}": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Get top 40 bids of orderbook",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "description": "currency pair code",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderbookLevel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/orders/asks/{currencyPairCode}": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Get top 40 asks of orderbook",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "description": "currency pair code",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderbookLevel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/orders/users/{currencyPairCode}": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Get list of all orders (buy and sell) for user",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "description": "currency pair code",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "\"all\" / \"active\" / \"canceled\"",
            "schema": {
              "type": "string",
              "default": "active"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders/users": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "active"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders/users/bids": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Get list of bid orders from user",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "query",
            "description": "currency pair code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders/users/asks": {
      "get": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Get list of ask orders from user",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "query",
            "description": "currency pair code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders": {
      "post": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Create Buy or Sell order",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders/{orderId}": {
      "delete": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Delete selected order",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "order id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders/{currencyPairCode}/{isBid}/{orderId}": {
      "delete": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Delete selected order",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "order id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "currencyPairCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isBid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders/users/all/{currencyPairCode}": {
      "delete": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Delete all user orders for currency pair",
        "parameters": [
          {
            "name": "currencyPairCode",
            "in": "path",
            "description": "currency pair code",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/orders/notify": {
      "post": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Notify trade pages that they need to update data",
        "requestBody": {
          "description": "a list of notification",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/trades/notify": {
      "post": {
        "tags": [
          "ApiOrders"
        ],
        "summary": "Notify trade pages that they need to update data",
        "requestBody": {
          "description": "a list of notification",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/orders": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "exchangeCurrencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentCurrencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentSystemId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "isBuyingOnExchange",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/OrderStatus"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dealExchangeAmount",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "dealPaymentAmount",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "isFilterForUserId",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Order"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/users/orders": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/OrderStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Order"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/orders/{id}": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/orders/{id}/clone": {
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/orders/{id}/cancel": {
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/users/deals": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "statuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DealStatus"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealExt"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/users/deals/all": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "statuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DealStatus"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealExt"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deals/{id}": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealExt"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealExt"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deals": {
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deal"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deals/{id}/payment-status": {
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dealStatus",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/DealStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealExt"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/requisites": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Requisite"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/requisites/{id}": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Requisite"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RequisiteDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "delete": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/payment-methods": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "paymentSystemId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentMethod"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/currency-pairs": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyPair"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/exchange-currencies": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/P2PExchangeCurrency"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/payment-systems": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentSystem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/users/info": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserInfoDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/users/trading-limits/order": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "isBuyingOnExchange",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "exchangeCurrencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentCurrencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "price",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "requisiteIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "editableOrderId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserOrderLimitsDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/users/trading-limits/deal": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDealLimitsDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/users/merchant-applications/eligibility": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantApplicationEligibilityDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/users/merchant-applications": {
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantApplicationSubmitResultDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deal-comments": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "isFromUser",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "isToUser",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealComment"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealComment"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCommentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealComment"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deal-comments/{dealCommentId}": {
      "delete": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealCommentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/user-blocks": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "blockedUserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserBlock"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UserBlockCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserBlockCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserBlockCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserBlockCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserBlock"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "unblockedUserId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/chats": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChatMessageExt"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChatMessageCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/chats/{id}": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatMessageExt"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/chats/reads": {
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/chats/{id}/read": {
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/chats/upload-file": {
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "ContentType": {
                    "type": "string"
                  },
                  "ContentDisposition": {
                    "type": "string"
                  },
                  "Headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "Length": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "Name": {
                    "type": "string"
                  },
                  "FileName": {
                    "type": "string"
                  },
                  "dealId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              },
              "encoding": {
                "ContentType": {
                  "style": "form"
                },
                "ContentDisposition": {
                  "style": "form"
                },
                "Headers": {
                  "style": "form"
                },
                "Length": {
                  "style": "form"
                },
                "Name": {
                  "style": "form"
                },
                "FileName": {
                  "style": "form"
                },
                "dealId": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/chats/files/{fileId}": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatFile"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/chats/files/{fileId}/metadata": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "fileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatFileMetadataDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/chats/users-info": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatUsersInfo"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deals/{dealId}/appeals": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealAppeal"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deal-appeals/{id}": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealAppeal"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deal-appeals/all": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "appealStatus",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AppealStatus"
            }
          },
          {
            "name": "ExchangeCurrencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PaymentCurrencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appealType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AppealType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealAppeal"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deal-appeals": {
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DealAppealCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DealAppealCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DealAppealCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DealAppealCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/deals/{dealId}/confirm": {
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/deals/{dealId}/appeal-status": {
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/deals/{dealId}/cancel-dispute": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DealCancelDispute"
                }
              }
            }
          }
        }
      }
    },
    "/api/p2p/deal-cancel-disputes": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealCancelDisputeStatus",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/DealCancelDisputeStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DealCancelDispute"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCancelDisputeCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCancelDisputeCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DealCancelDisputeCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DealCancelDisputeCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/deals/{dealId}/cancel-dispute/status": {
      "put": {
        "tags": [
          "ApiP2P"
        ],
        "parameters": [
          {
            "name": "dealId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dealCancelDisputeStatus",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/DealCancelDisputeStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/notify": {
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/P2PNotification"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/P2PNotification"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/P2PNotification"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/P2PNotification"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/p2p/email-notifications": {
      "get": {
        "tags": [
          "ApiP2P"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomClaim"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiP2P"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserNotificationSetting"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserNotificationSetting"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserNotificationSetting"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserNotificationSetting"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/payment-cards": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiPaymentCards"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/IssuePaymentCardDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssuePaymentCardDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IssuePaymentCardDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IssuePaymentCardDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/transfers": {
      "post": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentCardTransferDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentCardTransferDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentCardTransferDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentCardTransferDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardTransferDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardTransferDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardTransferDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardTransferDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardTransferDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardTransferDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/balance": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardBalanceDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardBalanceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardBalanceDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/transactions": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardTransactionsResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardTransactionsResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardTransactionsResultDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/sensitive-details": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardSensitiveDetailsDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardSensitiveDetailsDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardSensitiveDetailsDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/callbacks": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardCallbackDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardCallbackDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardCallbackDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/verification-codes": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardCallbackDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardCallbackDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardCallbackDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/3ds/confirm": {
      "post": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPaymentCard3DsDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPaymentCard3DsDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPaymentCard3DsDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPaymentCard3DsDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/set-pin": {
      "post": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SetPaymentCardPinDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPaymentCardPinDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPaymentCardPinDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetPaymentCardPinDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/transfers": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardTransferDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardTransferDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardTransferDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/products": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "summary": "Public product catalog — intentionally without M:WebApp.Services.IStockAuthService.CheckApiUserAuthorized(System.Security.Claims.ClaimsPrincipal,Microsoft.AspNetCore.Http.HttpRequest,System.Boolean)\r\n(pre-login listing; only non-sensitive template metadata).",
        "parameters": [
          {
            "name": "enabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardProductDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardProductDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardProductDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/available-products": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardProductDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardProductDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardProductDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/supported-dial-codes": {
      "get": {
        "tags": [
          "ApiPaymentCards"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardSupportedDialCodeDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardSupportedDialCodeDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentCardSupportedDialCodeDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/activate-physical": {
      "post": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivatePhysicalPaymentCardDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivatePhysicalPaymentCardDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivatePhysicalPaymentCardDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ActivatePhysicalPaymentCardDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment-cards/{cardId}/set-status": {
      "post": {
        "tags": [
          "ApiPaymentCards"
        ],
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SetCardStatusDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCardStatusDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCardStatusDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetCardStatusDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentCardDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/questionnaires": {
      "get": {
        "tags": [
          "ApiQuestionnaires"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/QuestionnaireType"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/questionnaires/completion": {
      "get": {
        "tags": [
          "ApiQuestionnaires"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/QuestionnaireType"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/questionnaires/answer": {
      "post": {
        "tags": [
          "ApiQuestionnaires"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionnaireAnswerDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionnaireAnswerDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionnaireAnswerDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionnaireAnswerDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/settings": {
      "get": {
        "tags": [
          "ApiStaking"
        ],
        "summary": "Get parameters of available stakes",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StakingSetting"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StakingSetting"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StakingSetting"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/staking/user-stakes": {
      "get": {
        "tags": [
          "ApiStaking"
        ],
        "summary": "Get user's stakes",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/UserStakingStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/user-stakes/{stakeId}": {
      "get": {
        "tags": [
          "ApiStaking"
        ],
        "summary": "Get user's stake by id",
        "parameters": [
          {
            "name": "stakeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/stake": {
      "post": {
        "tags": [
          "ApiStaking"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserStakeDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserStakeDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserStakeDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserStakeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/accruals": {
      "get": {
        "tags": [
          "ApiStaking"
        ],
        "summary": "Get staking accrual transactions from depository",
        "parameters": [
          {
            "name": "userStakeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/total": {
      "get": {
        "tags": [
          "ApiStaking"
        ],
        "summary": "Get total sum of user's active stakes for a currency",
        "parameters": [
          {
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/affiliate/levels": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/affiliate/users/my": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/affiliate/members/{userId}": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "summary": "Staking affiliate metrics for a user (e.g. team details page). Requires authentication.\r\n            Allowed only for the current user themselves or any user inside their referral subtree.",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/affiliate/referrals": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "parameters": [
          {
            "name": "referralsDepth",
            "in": "query",
            "description": "Referral depth: 1 = direct referrals, 2 = referrals of direct referrals, null = all levels",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeReferralCounts",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/affiliate/network-tree": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "summary": "Referral network tree for the current user's diagram (surroundings: own subtree, upline chain\r\n            and neighbouring \"foreign\" branches). Goes through the SDK; foreign nodes are returned without details.",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/affiliate/referrals/{userId}": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/staking/affiliate/direct-referrals": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "deprecated": true
      }
    },
    "/api/staking/affiliate/direct-referrals/{userId}": {
      "get": {
        "tags": [
          "ApiStakingAffiliate"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "deprecated": true
      }
    },
    "/api/support/public/telegram/tickets": {
      "post": {
        "tags": [
          "ApiSupportTelegram"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramTicketResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramTicketResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramTicketResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/support/public/telegram/tickets/{externalRequestId}/messages": {
      "post": {
        "tags": [
          "ApiSupportTelegram"
        ],
        "parameters": [
          {
            "name": "externalRequestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketMessageCreateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketMessageCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketMessageCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TelegramTicketMessageCreateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramTicketResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramTicketResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramTicketResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/my/telegram-link": {
      "post": {
        "tags": [
          "ApiTelegramLink"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramLinkDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramLinkDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramLinkDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/my/telegram-link/status": {
      "get": {
        "tags": [
          "ApiTelegramLink"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramLinkStatusDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramLinkStatusDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramLinkStatusDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/telegram/link/confirm": {
      "post": {
        "tags": [
          "ApiTelegramLink"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmTelegramLinkRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmTelegramLinkRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmTelegramLinkRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmTelegramLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/my/telegram-id": {
      "put": {
        "tags": [
          "ApiTelegramLink"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "integer",
                "format": "int64"
              }
            },
            "application/json": {
              "schema": {
                "type": "integer",
                "format": "int64"
              }
            },
            "text/json": {
              "schema": {
                "type": "integer",
                "format": "int64"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "get": {
        "tags": [
          "ApiTelegramLink"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/2fa/status": {
      "get": {
        "tags": [
          "ApiTwoFA"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/count": {
      "get": {
        "tags": [
          "ApiUser"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/me/vip/statuses": {
      "get": {
        "tags": [
          "ApiUser"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/me/vip/assistants": {
      "get": {
        "tags": [
          "ApiUser"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/bool-claims": {
      "get": {
        "tags": [
          "ApiUser"
        ],
        "parameters": [
          {
            "name": "claimType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/my/nickname": {
      "post": {
        "tags": [
          "ApiUser"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/my/last-login": {
      "get": {
        "tags": [
          "ApiUser"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/nickname": {
      "get": {
        "tags": [
          "ApiUser"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/users/my/names": {
      "put": {
        "tags": [
          "ApiUser"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NamesDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NamesDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NamesDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NamesDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/verification/webhooks/sumsub": {
      "post": {
        "tags": [
          "ApiVerificationSumsub"
        ],
        "summary": "Webhook (Sumsub URL must target this WebApp): forwards body and X-Payload-Digest to Verification.",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/verification/sumsub-access-token": {
      "post": {
        "tags": [
          "ApiVerificationSumsub"
        ],
        "summary": "Sumsub Web SDK token: authenticates the caller, adds `userId` from JWT (`sub`), forwards to Verification.",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ActivatePhysicalPaymentCardDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "printedCardNumber": {
            "type": "string",
            "nullable": true
          },
          "pin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Adapter": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "mainCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "isFiat": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AddTicketMessageDto": {
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string",
            "format": "uuid"
          },
          "isAdminReply": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "fileIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "telegramAttachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelegramAttachmentDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApiKeyPairCreationRequestViewModel": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "ipAddress": {
            "type": "string",
            "description": "Optional, will allow requests from this IP only",
            "nullable": true
          },
          "allowReceivingUserInfo": {
            "type": "boolean"
          },
          "allowTrading": {
            "type": "boolean"
          },
          "allowWithdrawal": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AppealStatus": {
        "enum": [
          10,
          20,
          30,
          40
        ],
        "type": "integer",
        "format": "int32"
      },
      "AppealType": {
        "enum": [
          10,
          20
        ],
        "type": "integer",
        "format": "int32"
      },
      "BiniChainConnectRequest": {
        "type": "object",
        "properties": {
          "ticket": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BiniChainConnectResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "binibitUserId": {
            "type": "string",
            "nullable": true
          },
          "telegramId": {
            "type": "integer",
            "format": "int64"
          },
          "referralCode": {
            "type": "string",
            "nullable": true
          },
          "referralUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CandleTimePeriod": {
        "enum": [
          60,
          180,
          300,
          900,
          1800,
          3600,
          14400,
          28800,
          86400,
          604800,
          2592000
        ],
        "type": "integer",
        "format": "int32"
      },
      "CashDeposit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "publicId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/CashDepositStatus"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "feeAmount": {
            "type": "number",
            "format": "double"
          },
          "feeCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "isCanceled": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CashDepositStatus": {
        "enum": [
          0,
          50,
          100,
          110,
          120
        ],
        "type": "integer",
        "format": "int32"
      },
      "ChatFile": {
        "required": [
          "chatMessageId",
          "data",
          "extension",
          "fileName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "chatMessageId": {
            "type": "string",
            "format": "uuid"
          },
          "chatMessage": {
            "$ref": "#/components/schemas/ChatMessage"
          },
          "fileName": {
            "minLength": 1,
            "type": "string"
          },
          "extension": {
            "minLength": 1,
            "type": "string"
          },
          "data": {
            "type": "string",
            "format": "byte"
          }
        },
        "additionalProperties": false
      },
      "ChatFileMetadataDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "extension": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ChatMessage": {
        "required": [
          "dealId",
          "userId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "deal": {
            "$ref": "#/components/schemas/Deal"
          },
          "userId": {
            "minLength": 1,
            "type": "string"
          },
          "chatFileId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "chatFile": {
            "$ref": "#/components/schemas/ChatFile"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "wasRead": {
            "type": "boolean"
          },
          "notificationWasSent": {
            "type": "boolean"
          },
          "systemMessageType": {
            "$ref": "#/components/schemas/SystemMessageType"
          },
          "isSystemMessage": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ChatMessageCreateDto": {
        "required": [
          "dealId",
          "text"
        ],
        "type": "object",
        "properties": {
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ChatMessageExt": {
        "required": [
          "dealId",
          "userId"
        ],
        "type": "object",
        "properties": {
          "isDealCreator": {
            "type": "boolean"
          },
          "isOrderCreator": {
            "type": "boolean"
          },
          "isAdminMessage": {
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "deal": {
            "$ref": "#/components/schemas/Deal"
          },
          "userId": {
            "minLength": 1,
            "type": "string"
          },
          "chatFileId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "chatFile": {
            "$ref": "#/components/schemas/ChatFile"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "wasRead": {
            "type": "boolean"
          },
          "notificationWasSent": {
            "type": "boolean"
          },
          "systemMessageType": {
            "$ref": "#/components/schemas/SystemMessageType"
          },
          "isSystemMessage": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ChatMessageViewModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id",
            "format": "int32"
          },
          "userName": {
            "type": "string",
            "description": "User created the message",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Message text",
            "nullable": true
          },
          "dateTime": {
            "type": "string",
            "description": "Date time message created",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ChatSettings": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Detect if chat is enabled"
          },
          "showUserCount": {
            "type": "boolean",
            "description": "Show or not how many online users currently in WebApp"
          }
        },
        "additionalProperties": false
      },
      "ChatUsersInfo": {
        "type": "object",
        "properties": {
          "dealCreatorVerificationName": {
            "type": "string",
            "nullable": true
          },
          "orderCreatorVerificationName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChatViewModel": {
        "type": "object",
        "properties": {
          "chatSettings": {
            "$ref": "#/components/schemas/ChatSettings"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChatMessageViewModel"
            },
            "nullable": true
          },
          "blockedUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "currentUserName": {
            "type": "string",
            "nullable": true
          },
          "isSignedIn": {
            "type": "boolean"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "hasChatRights": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ClientLogEvent": {
        "type": "object",
        "properties": {
          "level": {
            "$ref": "#/components/schemas/ClientLogLevel"
          },
          "message": {
            "type": "string",
            "description": "Short human-readable message.",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "description": "Browser-side ISO-8601 timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "Page URL where the event occurred.",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "Where it was fired from: api-error, token-refresh-failed, window-error, unhandled-rejection, manual.",
            "nullable": true
          },
          "release": {
            "type": "string",
            "description": "Frontend release version (taken from package.json on the client).",
            "nullable": true
          },
          "context": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Free-form metadata: request url, http status, stack, etc.\r\nMust not contain PII (passwords, tokens, request bodies).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Event sent from the React client to /api/client-logs via navigator.sendBeacon.\r\nThe endpoint is anonymous; user id is read from the JWT when present."
      },
      "ClientLogLevel": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "Severity of a log event coming from the React client.\r\nMapped to Microsoft.Extensions.Logging.LogLevel by the receiving controller.",
        "format": "int32"
      },
      "ClientType": {
        "enum": [
          0,
          1,
          2,
          3,
          40,
          50,
          60,
          70,
          80
        ],
        "type": "integer",
        "format": "int32"
      },
      "Commission": {
        "required": [
          "commissionTypeCode"
        ],
        "type": "object",
        "properties": {
          "commissionId": {
            "type": "string",
            "format": "uuid"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true
          },
          "currencyAdapterCode": {
            "type": "string",
            "nullable": true
          },
          "percent": {
            "type": "number",
            "format": "double"
          },
          "minimum": {
            "type": "number",
            "format": "double"
          },
          "commissionCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "commissionTypeCode": {
            "minLength": 1,
            "type": "string"
          },
          "commissionType": {
            "$ref": "#/components/schemas/CommissionType"
          },
          "hashCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CommissionType": {
        "required": [
          "code",
          "value",
          "valueKey"
        ],
        "type": "object",
        "properties": {
          "code": {
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "minLength": 1,
            "type": "string"
          },
          "valueKey": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CommissionValue": {
        "required": [
          "currencyCode"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CommissionsInfo": {
        "type": "object",
        "properties": {
          "commissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Commission"
            },
            "nullable": true
          },
          "userNoTradeCommissions": {
            "type": "boolean"
          },
          "dealBidDiscountFraction": {
            "type": "number",
            "format": "double"
          },
          "dealAskDiscountFraction": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ConfirmPaymentCard3DsDto": {
        "type": "object",
        "properties": {
          "securementId": {
            "type": "integer",
            "format": "int64"
          },
          "action": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConfirmTelegramLinkRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          },
          "telegramId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "CreateAmbassadorReferralLinkRequest": {
        "type": "object",
        "properties": {
          "discountPercent": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CreateFuturesAccountForm": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "leverage": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Публичная форма создания счёта — та же, что биндит публичный роут бэка"
      },
      "CreatePaymentCardTransferDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "direction": {
            "$ref": "#/components/schemas/PaymentCardTransferDirection"
          }
        },
        "additionalProperties": false
      },
      "CreateUserStakeDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "stakingSettingId": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Currency": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "unifiedCryptoAssetId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isHalted": {
            "type": "boolean"
          },
          "isFiat": {
            "type": "boolean"
          },
          "isShowedForUsers": {
            "type": "boolean"
          },
          "isForCommissionConversion": {
            "type": "boolean"
          },
          "availableOnExchange": {
            "type": "boolean"
          },
          "availableAsP2pExternalFiat": {
            "type": "boolean"
          },
          "tokenOf": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "digits": {
            "type": "integer",
            "format": "int32"
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "whitePaper": {
            "type": "string",
            "nullable": true
          },
          "about": {
            "type": "string",
            "nullable": true
          },
          "issuingTime": {
            "type": "string",
            "nullable": true
          },
          "issuingPrice": {
            "type": "string",
            "nullable": true
          },
          "totalSupply": {
            "type": "string",
            "nullable": true
          },
          "networkConfirmations": {
            "type": "string",
            "nullable": true
          },
          "logoImage": {
            "type": "string",
            "format": "byte",
            "nullable": true,
            "deprecated": true
          },
          "allowDeposits": {
            "type": "boolean"
          },
          "allowWithdrawals": {
            "type": "boolean"
          },
          "currencyAdapters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CurrencyAdapter"
            },
            "nullable": true
          },
          "cryptoAdapterId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CurrencyAdapter": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "adapterCode": {
            "type": "string",
            "nullable": true
          },
          "tokenAddress": {
            "type": "string",
            "nullable": true
          },
          "adapter": {
            "$ref": "#/components/schemas/Adapter"
          }
        },
        "additionalProperties": false
      },
      "CurrencyListingCreateDto": {
        "required": [
          "currencyCode",
          "tokenName"
        ],
        "type": "object",
        "properties": {
          "currencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "totalTokensAmount": {
            "type": "integer",
            "format": "int64"
          },
          "tokenDecimalPlaces": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "tokenName": {
            "minLength": 1,
            "type": "string"
          },
          "useFairLaunch": {
            "type": "boolean"
          },
          "projectGoal": {
            "type": "string",
            "nullable": true
          },
          "investmentCondition": {
            "type": "string",
            "nullable": true
          },
          "investmentConditionHint": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "officialLink": {
            "type": "string",
            "nullable": true
          },
          "whitePaperLink": {
            "type": "string",
            "nullable": true
          },
          "logoImageId": {
            "type": "string",
            "nullable": true
          },
          "headerImageId": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "projectImageId": {
            "type": "string",
            "nullable": true
          },
          "socialLink1": {
            "type": "string",
            "nullable": true
          },
          "socialLink2": {
            "type": "string",
            "nullable": true
          },
          "socialLink3": {
            "type": "string",
            "nullable": true
          },
          "socialLink4": {
            "type": "string",
            "nullable": true
          },
          "partnerLogoUrl": {
            "type": "string",
            "nullable": true
          },
          "partnerPageUrl": {
            "type": "string",
            "nullable": true
          },
          "marketPageDisplayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "overriddenSupply": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CurrencyListingStatus": {
        "enum": [
          0,
          10,
          20,
          30,
          40
        ],
        "type": "integer",
        "format": "int32"
      },
      "CurrencyOffering": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "dateStart": {
            "type": "string",
            "format": "date-time"
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time"
          },
          "sellerUserId": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "totalVolume": {
            "type": "number",
            "format": "double"
          },
          "hardCap": {
            "type": "number",
            "format": "double"
          },
          "softCap": {
            "type": "number",
            "format": "double"
          },
          "currenciesForSale": {
            "type": "string",
            "nullable": true
          },
          "priceUsdt": {
            "type": "number",
            "format": "double"
          },
          "minBuyAmount": {
            "type": "number",
            "format": "double"
          },
          "paymentInitialPercentage": {
            "type": "number",
            "format": "double"
          },
          "daysToPayRest": {
            "type": "number",
            "format": "double"
          },
          "systemFeePercentage": {
            "type": "number",
            "format": "double"
          },
          "status": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CurrencyOfferingPurchase": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/CurrencyOfferingPurchaseStatus"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "payingCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "buyAmount": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "transfers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CurrencyOfferingPurchaseTransfer"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CurrencyOfferingPurchaseDto": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "description": "CurrencyOffering Code",
            "nullable": true
          },
          "payingCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "buyAmount": {
            "type": "number",
            "description": "Amount in CurrencyOffering currency",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CurrencyOfferingPurchaseStatus": {
        "enum": [
          0,
          10,
          20,
          50
        ],
        "type": "integer",
        "format": "int32"
      },
      "CurrencyOfferingPurchaseTransfer": {
        "type": "object",
        "properties": {
          "purchaseId": {
            "type": "string",
            "format": "uuid"
          },
          "purchase": {
            "$ref": "#/components/schemas/CurrencyOfferingPurchase"
          },
          "dateToTransfer": {
            "type": "string",
            "format": "date-time"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "isTransfered": {
            "type": "boolean"
          },
          "amount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CurrencyPair": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "isHalted": {
            "type": "boolean"
          },
          "isShowedForUsers": {
            "type": "boolean"
          },
          "currencyFromId": {
            "type": "string",
            "nullable": true
          },
          "currencyFrom": {
            "$ref": "#/components/schemas/Currency"
          },
          "currencyToId": {
            "type": "string",
            "nullable": true
          },
          "currencyTo": {
            "$ref": "#/components/schemas/Currency"
          },
          "overridedName": {
            "type": "string",
            "nullable": true
          },
          "digitsPrice": {
            "type": "integer",
            "format": "int32"
          },
          "uiDigitsPrice": {
            "type": "integer",
            "format": "int32"
          },
          "digitsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "uiDigitsAmount": {
            "type": "integer",
            "format": "int32"
          },
          "sendToCoinmarketcap": {
            "type": "boolean"
          },
          "availableOnExchange": {
            "type": "boolean"
          },
          "availableOnP2P": {
            "type": "boolean"
          },
          "digitsPriceP2P": {
            "type": "integer",
            "format": "int32"
          },
          "digitsAmountP2P": {
            "type": "integer",
            "format": "int32"
          },
          "useFairLaunchTrading": {
            "type": "boolean"
          },
          "getDisplayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CurrencyPairData": {
        "type": "object",
        "properties": {
          "currencyPair": {
            "$ref": "#/components/schemas/CurrencyPair"
          },
          "price": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "price24hAgo": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "priceChangePercentage24h": {
            "type": "number",
            "format": "double"
          },
          "volume24h": {
            "type": "number",
            "format": "double"
          },
          "low24h": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "high24h": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "firstTradeDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomClaim": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Deal": {
        "required": [
          "dealUserId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "order": {
            "$ref": "#/components/schemas/Order"
          },
          "requisiteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "requisite": {
            "$ref": "#/components/schemas/Requisite"
          },
          "dealUserId": {
            "minLength": 1,
            "type": "string"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "exchangeAmount": {
            "type": "number",
            "format": "double"
          },
          "paymentAmount": {
            "type": "number",
            "format": "double"
          },
          "partOfOrderFeeAmount": {
            "type": "number",
            "format": "double"
          },
          "status": {
            "$ref": "#/components/schemas/DealStatus"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "datePaymentSystemSent": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "datePaymentSystemConfirmed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateCanceled": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateProcessEnded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "displayId": {
            "type": "integer",
            "format": "int64"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DealComment"
            },
            "nullable": true
          },
          "cryptoAmountInUsdt": {
            "type": "number",
            "format": "double"
          },
          "chatMessages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChatMessage"
            },
            "nullable": true
          },
          "dealAppeals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DealAppeal"
            },
            "nullable": true
          },
          "dealCancelDispute": {
            "$ref": "#/components/schemas/DealCancelDispute"
          },
          "userNickname": {
            "type": "string",
            "nullable": true
          },
          "dealUserIsMerchant": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DealAppeal": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "deal": {
            "$ref": "#/components/schemas/Deal"
          },
          "creatorUserId": {
            "type": "string",
            "nullable": true
          },
          "adminUserId": {
            "type": "string",
            "nullable": true
          },
          "cause": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateCompleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/AppealStatus"
          },
          "appealType": {
            "$ref": "#/components/schemas/AppealType"
          }
        },
        "additionalProperties": false
      },
      "DealAppealCreateDto": {
        "required": [
          "cause",
          "dealId"
        ],
        "type": "object",
        "properties": {
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "creatorUserId": {
            "type": "string",
            "nullable": true
          },
          "cause": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DealCancelDispute": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "deal": {
            "$ref": "#/components/schemas/Deal"
          },
          "creatorUserId": {
            "type": "string",
            "nullable": true
          },
          "respondentUserId": {
            "type": "string",
            "nullable": true
          },
          "cause": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateCompleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/DealCancelDisputeStatus"
          }
        },
        "additionalProperties": false
      },
      "DealCancelDisputeCreateDto": {
        "required": [
          "cause",
          "dealId",
          "status"
        ],
        "type": "object",
        "properties": {
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "creatorUserId": {
            "type": "string",
            "nullable": true
          },
          "cause": {
            "minLength": 1,
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/DealCancelDisputeStatus"
          }
        },
        "additionalProperties": false
      },
      "DealCancelDisputeStatus": {
        "enum": [
          10,
          20,
          30,
          40
        ],
        "type": "integer",
        "format": "int32"
      },
      "DealComment": {
        "required": [
          "comment",
          "dealId",
          "fromUserId",
          "toUserId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "deal": {
            "$ref": "#/components/schemas/Deal"
          },
          "fromUserId": {
            "minLength": 1,
            "type": "string"
          },
          "toUserId": {
            "minLength": 1,
            "type": "string"
          },
          "isPositive": {
            "type": "boolean"
          },
          "comment": {
            "minLength": 1,
            "type": "string"
          },
          "isAnonymously": {
            "type": "boolean"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "isDelete": {
            "type": "boolean"
          },
          "userNickname": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DealCommentDto": {
        "type": "object",
        "properties": {
          "dealId": {
            "type": "string",
            "format": "uuid"
          },
          "fromUserId": {
            "type": "string",
            "nullable": true
          },
          "isPositive": {
            "type": "boolean"
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "isAnonymously": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DealCreateDto": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "requisiteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "dealUserId": {
            "type": "string",
            "nullable": true
          },
          "exchangeAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "DealExt": {
        "required": [
          "dealUserId"
        ],
        "type": "object",
        "properties": {
          "isOrderCreator": {
            "type": "boolean"
          },
          "isDealCreator": {
            "type": "boolean"
          },
          "isDirectionDealBuying": {
            "type": "boolean"
          },
          "isAppealed": {
            "type": "boolean"
          },
          "isAppealedAfterFinish": {
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "order": {
            "$ref": "#/components/schemas/Order"
          },
          "requisiteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "requisite": {
            "$ref": "#/components/schemas/Requisite"
          },
          "dealUserId": {
            "minLength": 1,
            "type": "string"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "exchangeAmount": {
            "type": "number",
            "format": "double"
          },
          "paymentAmount": {
            "type": "number",
            "format": "double"
          },
          "partOfOrderFeeAmount": {
            "type": "number",
            "format": "double"
          },
          "status": {
            "$ref": "#/components/schemas/DealStatus"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "datePaymentSystemSent": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "datePaymentSystemConfirmed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateCanceled": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateProcessEnded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "displayId": {
            "type": "integer",
            "format": "int64"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DealComment"
            },
            "nullable": true
          },
          "cryptoAmountInUsdt": {
            "type": "number",
            "format": "double"
          },
          "chatMessages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChatMessage"
            },
            "nullable": true
          },
          "dealAppeals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DealAppeal"
            },
            "nullable": true
          },
          "dealCancelDispute": {
            "$ref": "#/components/schemas/DealCancelDispute"
          },
          "userNickname": {
            "type": "string",
            "nullable": true
          },
          "dealUserIsMerchant": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DealHistory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "dealDateUtc": {
            "type": "string",
            "nullable": true
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true
          },
          "volume": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "isBuy": {
            "type": "boolean",
            "description": "true if bid existed before ask"
          },
          "isUserBuyer": {
            "type": "boolean",
            "description": "Did current user create bid or ask for this deal (only shown in My Trades)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DealStatus": {
        "enum": [
          10,
          20,
          40,
          50,
          60,
          80,
          90
        ],
        "type": "integer",
        "format": "int32"
      },
      "DepositResponse": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "nullable": true
          },
          "addressPublicKey": {
            "type": "string",
            "nullable": true
          },
          "comissionPercent": {
            "type": "number",
            "format": "double"
          },
          "comissionMinimum": {
            "type": "number",
            "format": "double"
          },
          "minAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Exchange": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "ExternalPayment": {
        "required": [
          "status",
          "userId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "minLength": 1,
            "type": "string"
          },
          "adminUserId": {
            "type": "string",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FaqQuestion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "language": {
            "$ref": "#/components/schemas/Language"
          },
          "question": {
            "type": "string",
            "nullable": true
          },
          "answer": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "File": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "extension": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "messageId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "message": {
            "$ref": "#/components/schemas/HelpdeskTicketMessage"
          },
          "telegramFileId": {
            "type": "string",
            "nullable": true
          },
          "telegramFileUniqueId": {
            "type": "string",
            "nullable": true
          },
          "isTelegramAttachment": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FuturesAccountUpdateRequest": {
        "type": "object",
        "properties": {
          "futuresAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "leverage": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FuturesNotification": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "nullable": true
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true
          },
          "futuresAccountId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "payload": {
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Событие Stock.Futures для ретрансляции в SignalR-хабы (POST api/futures/notify)"
      },
      "FuturesOrderCancelRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "isMarket": {
            "type": "boolean"
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "limitPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "isLiquidation": {
            "type": "boolean"
          },
          "userId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FuturesOrderCreateRequest": {
        "type": "object",
        "properties": {
          "isMarket": {
            "type": "boolean"
          },
          "isLong": {
            "type": "boolean"
          },
          "leverage": {
            "type": "integer",
            "format": "int32"
          },
          "price": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "stopLoss": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "takeProfit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "stopPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "orderAmountType": {
            "$ref": "#/components/schemas/OrderAmountType"
          },
          "futuresAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "fromCopyMasterAccountId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "fromCopyMasterOrderId": {
            "type": "string",
            "nullable": true
          },
          "clientOrderId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FuturesOrderStatus": {
        "enum": [
          10,
          20,
          30,
          40,
          50
        ],
        "type": "integer",
        "format": "int32"
      },
      "FuturesOrderStopLossRequest": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "nullable": true
          },
          "stopLoss": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FuturesOrderTakeProfitRequest": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "nullable": true
          },
          "takeProfit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FuturesOrdersCancelAllRequest": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "futuresAccountId": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "FuturesOrdersHistoryRequest": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "includeAllUsers": {
            "type": "boolean"
          },
          "currencyPair": {
            "type": "string",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateTo": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "statuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FuturesOrderStatus"
            },
            "nullable": true
          },
          "futuresAccountId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FuturesTransferRequest": {
        "required": [
          "amount",
          "currencyCode",
          "futuresAccountId"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "string"
          },
          "futuresAccountId": {
            "type": "integer",
            "format": "int64"
          },
          "currencyCode": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "HelpdeskTicket": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "header": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/HelpdeskTicketStatus"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "externalRequestId": {
            "type": "string",
            "nullable": true
          },
          "telegramUserId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "lastMessage": {
            "type": "string",
            "nullable": true
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HelpdeskTicketMessage"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HelpdeskTicketMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "isReply": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "helpdeskTicket": {
            "$ref": "#/components/schemas/HelpdeskTicket"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/File"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HelpdeskTicketStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "HistoryTxType": {
        "enum": [
          10,
          20,
          30,
          40,
          50,
          60,
          70,
          80,
          90,
          100,
          110,
          120
        ],
        "type": "integer",
        "format": "int32"
      },
      "InternalTransferRequest": {
        "required": [
          "currencyCode"
        ],
        "type": "object",
        "properties": {
          "toUserId": {
            "type": "string",
            "description": "Specify user id (optional)",
            "nullable": true,
            "example": "fef317fd-121f-4d50-b1de-362dbe4e07de"
          },
          "toEmail": {
            "type": "string",
            "description": "Specify user email (optional)",
            "nullable": true,
            "example": "test@mail.com"
          },
          "toPublicId": {
            "type": "string",
            "description": "Specify recipient PublicId / UID (optional)",
            "nullable": true,
            "example": "123456"
          },
          "amount": {
            "type": "number",
            "description": "Transfer amount",
            "format": "double",
            "example": 50
          },
          "currencyCode": {
            "minLength": 1,
            "type": "string",
            "description": "Transfer currency",
            "example": "USDT"
          },
          "authCode": {
            "type": "string",
            "description": "Google Authenticator code",
            "nullable": true
          },
          "emailAuthCode": {
            "type": "string",
            "description": "Code sent to email",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IssuePaymentCardDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "templateId": {
            "type": "integer",
            "format": "int32"
          },
          "dialCode": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "depositAmount": {
            "type": "number",
            "format": "double"
          },
          "recipientName": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "postcode": {
            "type": "string",
            "nullable": true
          },
          "addressLine": {
            "type": "string",
            "nullable": true
          },
          "kyc": {
            "$ref": "#/components/schemas/PaymentCardKycDto"
          }
        },
        "additionalProperties": false
      },
      "Language": {
        "enum": [
          0,
          1,
          20
        ],
        "type": "integer",
        "format": "int32"
      },
      "MerchantApplicationEligibilityDto": {
        "type": "object",
        "properties": {
          "canSubmit": {
            "type": "boolean"
          },
          "hasSufficientBalance": {
            "type": "boolean"
          },
          "meetsVerificationRequirement": {
            "type": "boolean"
          },
          "verificationRequiredByPlatform": {
            "type": "boolean"
          },
          "isAlreadyMerchant": {
            "type": "boolean"
          },
          "hasPendingApplication": {
            "type": "boolean"
          },
          "requiredCollateralAmount": {
            "type": "number",
            "format": "double"
          },
          "collateralCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "availableBalance": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "MerchantApplicationSubmitResultDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MobileAppVersionCreateDto": {
        "type": "object",
        "properties": {
          "versionCode": {
            "type": "integer",
            "format": "int32"
          },
          "versionName": {
            "type": "string",
            "nullable": true
          },
          "apkSize": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "MobileAppVersionDto": {
        "type": "object",
        "properties": {
          "versionCode": {
            "type": "integer",
            "format": "int32"
          },
          "versionName": {
            "type": "string",
            "nullable": true
          },
          "apkUrl": {
            "type": "string",
            "nullable": true
          },
          "apkSize": {
            "type": "integer",
            "format": "int64"
          },
          "releasedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "NamesDto": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "nullable": true
          },
          "telegramLogin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewsCommentDto": {
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "newsItemId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "currencyListingCode": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewsDto": {
        "type": "object",
        "properties": {
          "newsItemId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "currencyListingCode": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "$ref": "#/components/schemas/Language"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "preview": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "bannerImageId": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewsItemViewModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "language": {
            "$ref": "#/components/schemas/Language"
          },
          "currencyListingCode": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "preview": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "bannerImageId": {
            "type": "string",
            "nullable": true
          },
          "bannerImageUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Notification": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "nullable": true
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Order": {
        "required": [
          "description",
          "exchangeCurrencyCode",
          "paymentCurrencyCode",
          "userId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "minLength": 1,
            "type": "string"
          },
          "isBuyingOnExchange": {
            "type": "boolean"
          },
          "exchangeCurrencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "paymentCurrencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "areBothCurrenciesExchange": {
            "type": "boolean"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "totalExchangeAmount": {
            "type": "number",
            "format": "double"
          },
          "totalPaymentAmount": {
            "type": "number",
            "format": "double"
          },
          "filledExchangeAmount": {
            "type": "number",
            "format": "double"
          },
          "totalFeeAmount": {
            "type": "number",
            "format": "double"
          },
          "minDealAmount": {
            "type": "number",
            "format": "double"
          },
          "maxDealAmount": {
            "type": "number",
            "format": "double"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateClosed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateProcessEnded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "description": {
            "minLength": 1,
            "type": "string"
          },
          "maxTimeMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "displayId": {
            "type": "integer",
            "format": "int64"
          },
          "isKYCPassed": {
            "type": "boolean"
          },
          "minDaysSinceRegistration": {
            "type": "integer",
            "format": "int32"
          },
          "minOrdersRequired": {
            "type": "integer",
            "format": "int32"
          },
          "minOrderCompletionRate": {
            "type": "integer",
            "format": "int32"
          },
          "requisites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Requisite"
            },
            "nullable": true
          },
          "deals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Deal"
            },
            "nullable": true
          },
          "userNickname": {
            "type": "string",
            "nullable": true
          },
          "orderOwnerIsMerchant": {
            "type": "boolean"
          },
          "userInfo": {
            "$ref": "#/components/schemas/OrderUserInfo"
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "OrderAmountType": {
        "enum": [
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "OrderCreateDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "isBuyingOnExchange": {
            "type": "boolean"
          },
          "exchangeCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "paymentCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "requisiteIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "totalExchangeAmount": {
            "type": "number",
            "format": "double"
          },
          "minDealAmount": {
            "type": "number",
            "format": "double"
          },
          "maxDealAmount": {
            "type": "number",
            "format": "double"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "maxTimeMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "isKYCPassed": {
            "type": "boolean"
          },
          "minDaysSinceRegistration": {
            "type": "integer",
            "format": "int32"
          },
          "minOrdersRequired": {
            "type": "integer",
            "format": "int32"
          },
          "minOrderCompletionRate": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OrderCreateRequest": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "nullable": true
          },
          "isMarket": {
            "type": "boolean"
          },
          "isBid": {
            "type": "boolean"
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "clientType": {
            "$ref": "#/components/schemas/ClientType"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "exchange": {
            "$ref": "#/components/schemas/Exchange"
          },
          "marketBidTotalBlocked": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "OrderLimit": {
        "required": [
          "baseAmount",
          "currencyCodeFrom",
          "currencyCodeTo",
          "quoteAmount"
        ],
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "currencyCodeTo": {
            "minLength": 1,
            "type": "string"
          },
          "currencyCodeFrom": {
            "minLength": 1,
            "type": "string"
          },
          "quoteAmount": {
            "type": "number",
            "format": "double"
          },
          "baseAmount": {
            "type": "number",
            "format": "double"
          },
          "createTime": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "OrderStatus": {
        "enum": [
          10,
          20,
          30
        ],
        "type": "integer",
        "format": "int32"
      },
      "OrderUserInfo": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "recentDealsCount": {
            "type": "integer",
            "format": "int32"
          },
          "completedRecentDealsCount": {
            "type": "integer",
            "format": "int32"
          },
          "completedRecentDealsPercentage": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "daysSinceRegistration": {
            "type": "integer",
            "format": "int32"
          },
          "isKYCPassed": {
            "type": "boolean"
          },
          "requesterCanOpenDeal": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "OrderViewModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "isMarket": {
            "type": "boolean"
          },
          "currencyPairCode": {
            "type": "string",
            "nullable": true
          },
          "isBid": {
            "type": "boolean"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "initialAmount": {
            "type": "number",
            "description": "Initial order amount",
            "format": "double"
          },
          "amount": {
            "type": "number",
            "description": "Available order amount",
            "format": "double"
          },
          "currencyTo": {
            "type": "number",
            "format": "double",
            "deprecated": true
          },
          "quoteAmount": {
            "type": "number",
            "format": "double"
          },
          "currencyFrom": {
            "type": "number",
            "format": "double",
            "deprecated": true
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "isCanceled": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrderbookLevel": {
        "type": "object",
        "properties": {
          "isBid": {
            "type": "boolean"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currencyTo": {
            "type": "number",
            "format": "double",
            "deprecated": true
          },
          "quoteAmount": {
            "type": "number",
            "format": "double"
          },
          "currencyFrom": {
            "type": "number",
            "format": "double",
            "deprecated": true
          }
        },
        "additionalProperties": false
      },
      "P2PExchangeCurrency": {
        "required": [
          "currencyCode"
        ],
        "type": "object",
        "properties": {
          "currencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "ordering": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "P2PNotification": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "nullable": true
          },
          "deal": {
            "$ref": "#/components/schemas/Deal"
          }
        },
        "additionalProperties": false
      },
      "PaymentCardBalanceDto": {
        "type": "object",
        "properties": {
          "cardId": {
            "type": "string",
            "format": "uuid"
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentCardCallbackDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "cardId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "eventType": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "merchantName": {
            "type": "string",
            "nullable": true
          },
          "otpCode": {
            "type": "string",
            "nullable": true
          },
          "challengeUrl": {
            "type": "string",
            "nullable": true
          },
          "authMethod": {
            "type": "string",
            "nullable": true
          },
          "providerChallengeId": {
            "type": "string",
            "nullable": true
          },
          "requiresConfirm": {
            "type": "boolean"
          },
          "dateReceived": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PaymentCardDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/PaymentCardStatus"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "maskedPan": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "templateId": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "paymentSystem": {
            "type": "string",
            "nullable": true
          },
          "rechargeFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "rechargeMinLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "rechargeMaxLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "canActivate": {
            "type": "boolean"
          },
          "shipping": {
            "$ref": "#/components/schemas/ShippingInfo"
          }
        },
        "additionalProperties": false
      },
      "PaymentCardKycDataDto": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "identificationType": {
            "type": "string",
            "nullable": true
          },
          "identificationNumber": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "postcode": {
            "type": "string",
            "nullable": true
          },
          "addressLine": {
            "type": "string",
            "nullable": true
          },
          "frontImgBase64": {
            "type": "string",
            "nullable": true
          },
          "backImgBase64": {
            "type": "string",
            "nullable": true
          },
          "handheldImgBase64": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentCardKycDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "nullable": true
          },
          "kycData": {
            "$ref": "#/components/schemas/PaymentCardKycDataDto"
          }
        },
        "additionalProperties": false
      },
      "PaymentCardProductDto": {
        "type": "object",
        "properties": {
          "externalTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "paymentSystem": {
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "applyFee": {
            "type": "number",
            "format": "double"
          },
          "rechargeFee": {
            "type": "number",
            "format": "double"
          },
          "refundFee": {
            "type": "number",
            "format": "double"
          },
          "activateMinLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "rechargeMinLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "rechargeMaxLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "limitPerTx": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "limitPerDay": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "limitPerMonth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "requiresKyc": {
            "type": "boolean",
            "nullable": true
          },
          "requiresPhoneOnly": {
            "type": "boolean",
            "nullable": true
          },
          "needsActivation": {
            "type": "boolean",
            "nullable": true
          },
          "requiresInitialDeposit": {
            "type": "boolean",
            "nullable": true
          },
          "initialDepositRequirementKnown": {
            "type": "boolean"
          },
          "allowedPinLengths": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PaymentCardSensitiveDetailsDto": {
        "type": "object",
        "properties": {
          "cardId": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "cvv": {
            "type": "string",
            "nullable": true
          },
          "expiryDate": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentCardStatus": {
        "enum": [
          10,
          20,
          30,
          40,
          50,
          60
        ],
        "type": "integer",
        "format": "int32"
      },
      "PaymentCardSupportedDialCodeDto": {
        "type": "object",
        "properties": {
          "dialCode": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentCardTransactionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "cardId": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "billingCurrency": {
            "type": "string",
            "nullable": true
          },
          "billingAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "billingTransactionFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "transactionCurrency": {
            "type": "string",
            "nullable": true
          },
          "transactionAmount": {
            "type": "string",
            "nullable": true
          },
          "merchantName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "cardBalanceBefore": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "cardBalanceAfter": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "occurTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "failureReason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentCardTransactionsResultDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentCardTransactionDto"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PaymentCardTransferDirection": {
        "enum": [
          10,
          20
        ],
        "type": "integer",
        "format": "int32"
      },
      "PaymentCardTransferDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "cardId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "direction": {
            "$ref": "#/components/schemas/PaymentCardTransferDirection"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentCardTransferStatus"
          },
          "failureReason": {
            "$ref": "#/components/schemas/PaymentCardTransferFailureReason"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "feeAmount": {
            "type": "number",
            "format": "double"
          },
          "netAmount": {
            "type": "number",
            "format": "double"
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateCompleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentCardTransferFailureReason": {
        "enum": [
          0,
          10,
          20,
          30
        ],
        "type": "integer",
        "format": "int32"
      },
      "PaymentCardTransferStatus": {
        "enum": [
          10,
          20,
          30,
          40
        ],
        "type": "integer",
        "format": "int32"
      },
      "PaymentMethod": {
        "type": "object",
        "properties": {
          "paymentSystemId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "paymentSystem": {
            "$ref": "#/components/schemas/PaymentSystem"
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PaymentSystem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PriceSpread": {
        "type": "object",
        "properties": {
          "currencyPair": {
            "type": "string",
            "nullable": true
          },
          "bidMax": {
            "type": "number",
            "format": "double"
          },
          "askMin": {
            "type": "number",
            "format": "double"
          },
          "average": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "ProfitType": {
        "enum": [
          1,
          2,
          40,
          50,
          100
        ],
        "type": "integer",
        "format": "int32"
      },
      "QuestionnaireAnswerDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "questionnaireId": {
            "type": "string",
            "format": "uuid"
          },
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuestionnaireQuestionAnswerDto"
            },
            "nullable": true
          },
          "locale": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuestionnaireQuestionAnswerDto": {
        "type": "object",
        "properties": {
          "questionId": {
            "type": "string",
            "format": "uuid"
          },
          "questionText": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuestionnaireQuestionOptionAnswerDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuestionnaireQuestionOptionAnswerDto": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "format": "uuid"
          },
          "optionText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuestionnaireType": {
        "enum": [
          10
        ],
        "type": "integer",
        "format": "int32"
      },
      "RecipientInfo": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "nullable": true
          },
          "avatarId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Requisite": {
        "required": [
          "cardNumber",
          "ownerName",
          "userId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "paymentSystemId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentMethodCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "minLength": 1,
            "type": "string"
          },
          "cardNumber": {
            "minLength": 1,
            "type": "string"
          },
          "ownerName": {
            "minLength": 1,
            "type": "string"
          },
          "bankBranch": {
            "type": "string",
            "nullable": true
          },
          "bankName": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "isDeleted": {
            "type": "boolean"
          },
          "paymentSystem": {
            "$ref": "#/components/schemas/PaymentSystem"
          }
        },
        "additionalProperties": false
      },
      "RequisiteDto": {
        "required": [
          "cardNumber",
          "name"
        ],
        "type": "object",
        "properties": {
          "paymentSystemId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentMethodCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "cardNumber": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "bankBranch": {
            "type": "string",
            "nullable": true
          },
          "bankName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetCardStatusDto": {
        "type": "object",
        "properties": {
          "alter": {
            "type": "string",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "idempotencyKey": {
            "type": "string",
            "nullable": true
          },
          "pin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetInviterRequest": {
        "type": "object",
        "properties": {
          "referrerUserId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetPaymentCardPinDto": {
        "type": "object",
        "properties": {
          "pin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ShippingInfo": {
        "type": "object",
        "properties": {
          "trackingNumber": {
            "type": "string",
            "nullable": true
          },
          "recipientName": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "postcode": {
            "type": "string",
            "nullable": true
          },
          "addressLine": {
            "type": "string",
            "nullable": true
          },
          "dateShipped": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StakingAccrualSchedule": {
        "enum": [
          "Daily",
          "AtMaturity"
        ],
        "type": "string"
      },
      "StakingSetting": {
        "required": [
          "accrualCurrencyCode",
          "baseCurrencyCode"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "baseCurrencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "accrualCurrencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "yearlyAccrualPercentage": {
            "type": "number",
            "format": "double"
          },
          "minAmountUsdt": {
            "type": "number",
            "format": "double"
          },
          "minAmountBaseCurrency": {
            "type": "number",
            "format": "double"
          },
          "lockPeriodDays": {
            "type": "integer",
            "format": "int32"
          },
          "accrualSchedule": {
            "$ref": "#/components/schemas/StakingAccrualSchedule"
          },
          "notificationNeeded": {
            "type": "boolean"
          },
          "percentageToUserBonuses": {
            "type": "number",
            "format": "double"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateDeleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SystemMessageType": {
        "enum": [
          10,
          20,
          30,
          40
        ],
        "type": "integer",
        "format": "int32"
      },
      "TelegramAttachmentDto": {
        "type": "object",
        "properties": {
          "telegramFileId": {
            "type": "string",
            "nullable": true
          },
          "telegramFileUniqueId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TelegramLinkDto": {
        "type": "object",
        "properties": {
          "deepLink": {
            "type": "string",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "TelegramLinkStatusDto": {
        "type": "object",
        "properties": {
          "status": {
            "enum": [
              "Waiting",
              "Connected"
            ],
            "type": "string"
          },
          "telegramId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TelegramTicketCreateDto": {
        "type": "object",
        "properties": {
          "externalRequestId": {
            "type": "string",
            "nullable": true
          },
          "telegramUserId": {
            "type": "integer",
            "format": "int64"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "header": {
            "type": "string",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelegramAttachmentDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TelegramTicketMessageCreateDto": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelegramAttachmentDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TelegramTicketResponseDto": {
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string",
            "format": "uuid"
          },
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "telegramUserId": {
            "type": "integer",
            "format": "int64"
          },
          "externalRequestId": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "boolean"
          },
          "isVip": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TicketAddViewModel": {
        "required": [
          "header"
        ],
        "type": "object",
        "properties": {
          "header": {
            "minLength": 1,
            "type": "string"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "fileIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TradesMainViewModel": {
        "type": "object",
        "properties": {
          "cantTrade": {
            "type": "boolean"
          },
          "isCurrencyPairHalted": {
            "type": "boolean"
          },
          "lastDeals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DealHistory"
            },
            "nullable": true
          },
          "allDeals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DealHistory"
            },
            "nullable": true
          },
          "bids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderbookLevel"
            },
            "nullable": true
          },
          "asks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderbookLevel"
            },
            "nullable": true
          },
          "userBids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderViewModel"
            },
            "nullable": true
          },
          "userAsks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderViewModel"
            },
            "nullable": true
          },
          "currencyPairs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CurrencyPair"
            },
            "nullable": true
          },
          "commissionsInfo": {
            "$ref": "#/components/schemas/CommissionsInfo"
          },
          "orderLimit": {
            "$ref": "#/components/schemas/OrderLimit"
          },
          "currentCurrencyPair": {
            "$ref": "#/components/schemas/CurrencyPair"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "isAuthenicated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TransactionHistoryType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "type": "integer",
        "format": "int32"
      },
      "UploadImage": {
        "type": "object",
        "properties": {
          "extension": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "newsId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "oldImageId": {
            "type": "string",
            "nullable": true
          },
          "isBanner": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UserBlock": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "blockedUserId": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "blockingDate": {
            "type": "string",
            "format": "date-time"
          },
          "userNickname": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserBlockCreateDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "blockedUserId": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserDealLimitsDto": {
        "type": "object",
        "properties": {
          "canOpenDealWithinTotalLimits": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UserInfoDto": {
        "type": "object",
        "properties": {
          "userNickname": {
            "type": "string",
            "nullable": true
          },
          "recentDealsCount": {
            "type": "integer",
            "format": "int32"
          },
          "completedRecentDealsCount": {
            "type": "integer",
            "format": "int32"
          },
          "allCompletedDealsCount": {
            "type": "integer",
            "format": "int32"
          },
          "completedBuysCount": {
            "type": "integer",
            "format": "int32"
          },
          "completedSellsCount": {
            "type": "integer",
            "format": "int32"
          },
          "completedRecentDealsPercentage": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "likesCount": {
            "type": "integer",
            "format": "int32"
          },
          "dislikesCount": {
            "type": "integer",
            "format": "int32"
          },
          "ratingBasedOnReviews": {
            "type": "number",
            "format": "double"
          },
          "ratingBasedOnDealsAfterDisputes": {
            "type": "number",
            "format": "double"
          },
          "averageTransferTimeMins": {
            "type": "integer",
            "format": "int32"
          },
          "averagePaymentTimeMins": {
            "type": "integer",
            "format": "int32"
          },
          "accountAgeDays": {
            "type": "integer",
            "format": "int32"
          },
          "daysSinceFirstDeal": {
            "type": "integer",
            "format": "int32"
          },
          "recentTradingVolume": {
            "type": "number",
            "format": "double"
          },
          "totalTradingVolume": {
            "type": "number",
            "format": "double"
          },
          "isMerchant": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UserNotificationSetting": {
        "type": "object",
        "properties": {
          "notificationType": {
            "type": "string",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UserOrderLimitsDto": {
        "type": "object",
        "properties": {
          "canOpenOrderWithSelectedPriceAndRequisites": {
            "type": "boolean",
            "nullable": true
          },
          "canOpenNewOrderAtSelectedTradingPair": {
            "type": "boolean"
          },
          "canOpenOrderWithinAppealLimits": {
            "type": "boolean"
          },
          "canOpenOrderWithinTotalLimits": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UserStakingStatus": {
        "enum": [
          10,
          20,
          30,
          40
        ],
        "type": "integer",
        "format": "int32"
      },
      "Withdrawal": {
        "required": [
          "adapterCode",
          "amount",
          "currencyCode",
          "statusId",
          "userId",
          "withdrawalAddress"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "withdrawalType": {
            "$ref": "#/components/schemas/WithdrawalType"
          },
          "bankCard": {
            "$ref": "#/components/schemas/WithdrawalBankCard"
          },
          "statusId": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/WithdrawalStatus"
          },
          "isToColdWallet": {
            "type": "boolean"
          },
          "isAmlDepositReturn": {
            "type": "boolean"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "calculatedStockCommission": {
            "$ref": "#/components/schemas/CommissionValue"
          },
          "actualNetworkCommission": {
            "type": "number",
            "format": "double"
          },
          "networkCommissionCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "withdrawalAddress": {
            "minLength": 1,
            "type": "string"
          },
          "withdrawalAddressPublicKey": {
            "type": "string",
            "nullable": true
          },
          "memo": {
            "type": "string",
            "nullable": true
          },
          "clientType": {
            "$ref": "#/components/schemas/ClientType"
          },
          "userId": {
            "minLength": 1,
            "type": "string"
          },
          "txId": {
            "type": "string",
            "nullable": true
          },
          "dateTimeCreated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateTimeProcessed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "adapterCode": {
            "minLength": 1,
            "type": "string"
          },
          "requestWithdrawalTransactionId": {
            "type": "string",
            "format": "uuid"
          },
          "errorText": {
            "type": "string",
            "nullable": true
          },
          "internalRecepientUserId": {
            "type": "string",
            "nullable": true
          },
          "internalRecepientClientType": {
            "$ref": "#/components/schemas/ClientType"
          },
          "publicId": {
            "type": "string",
            "nullable": true
          },
          "commissionInWithdrawalCurrency": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "amountAfterCommission": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "WithdrawalBankCard": {
        "required": [
          "cardNumber",
          "phoneNumber"
        ],
        "type": "object",
        "properties": {
          "withdrawalId": {
            "type": "string",
            "format": "uuid"
          },
          "withdrawal": {
            "$ref": "#/components/schemas/Withdrawal"
          },
          "cardNumber": {
            "minLength": 1,
            "type": "string"
          },
          "expiryMonth": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "expiryYear": {
            "maximum": 99,
            "minimum": 20,
            "type": "integer",
            "format": "int32"
          },
          "phoneNumber": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "dateBirthday": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WithdrawalCommissionRequest": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "adapterCode": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "isAmountAfterCommission": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "WithdrawalCommissionResponse": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "amountAfterCommission": {
            "type": "number",
            "format": "double"
          },
          "commissionValue": {
            "$ref": "#/components/schemas/CommissionValue"
          }
        },
        "additionalProperties": false
      },
      "WithdrawalLimitApi": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "minAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "WithdrawalRequest": {
        "required": [
          "currencyCode"
        ],
        "type": "object",
        "properties": {
          "withdrawalType": {
            "$ref": "#/components/schemas/WithdrawalType"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "addressPublicKey": {
            "type": "string",
            "nullable": true
          },
          "memo": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "adapterCode": {
            "type": "string",
            "nullable": true
          },
          "bankCard": {
            "$ref": "#/components/schemas/WithdrawalBankCard"
          },
          "authCode": {
            "type": "string",
            "nullable": true
          },
          "emailAuthCode": {
            "type": "string",
            "nullable": true
          },
          "publicId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WithdrawalStatus": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "minLength": 1,
            "type": "string"
          },
          "valueKey": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WithdrawalType": {
        "enum": [
          0,
          10,
          20,
          30,
          40,
          50,
          60
        ],
        "type": "integer",
        "format": "int32"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Enter JWT token (without 'Bearer ' prefix)",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}