{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "FireAnt RESTFUL API",
    "description": "Tài liệu đặc tả FireAnt RESTFUL API v1.0.0"
  },
  "host": "api.fireant.vn",
  "schemes": [
    "https"
  ],
  "paths": {
    "/academy/subjects": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách chủ đề khóa học",
        "operationId": "Academy_GetCourseSubjects",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Subject"
              }
            }
          },
          "500": {
            "description": "Lỗi hệ thống"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/subjects/{subjectId}": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin chủ đề khóa học",
        "operationId": "Academy_GetCourseSubject",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "subjectId",
            "in": "path",
            "description": "ID của chủ đề",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.Subject"
            }
          },
          "500": {
            "description": "Lỗi hệ thống"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/courses/{courseId}": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin khóa học theo ID",
        "operationId": "Academy_GetCourse",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "ID của khóa học",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Course"
              }
            }
          },
          "404": {
            "description": "Bài giảng không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/courses/levels": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách tất cả cấp độ của các khóa học",
        "operationId": "Academy_GetAllCoursesLevel",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.CoursesLevel"
              }
            }
          },
          "500": {
            "description": "Có lỗi khi lấy danh sách cấp độ của khóa học"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/courses": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách khóa học",
        "operationId": "Academy_GetCourses",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "subjectId",
            "in": "query",
            "description": "Lọc theo chủ đề khóa học (Mặc định là 0, lấy tất cả)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Phân loại (0: lớp học, 1: hội thảo, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "level",
            "in": "query",
            "description": "Lọc theo cấp độ khóa học (Basic, Advance...)",
            "required": false,
            "type": "string"
          },
          {
            "name": "isHot",
            "in": "query",
            "description": "Lọc theo khóa học nổi bật",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Course"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/courses/recordCount": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy số lượng khóa học",
        "operationId": "Academy_GetCoursesCount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "subjectId",
            "in": "query",
            "description": "Lọc theo chủ đề khóa học (0: tất cả chủ đề)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "level",
            "in": "query",
            "description": "Lọc theo cấp độ khóa học (Basic, Advance...)",
            "required": false,
            "type": "string"
          },
          {
            "name": "isHot",
            "in": "query",
            "description": "Lọc theo khóa học nổi bật",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "500": {
            "description": "Có lỗi khi lấy danh sách khóa học"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/courses/{courseID}/thumbnail": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy ảnh đại diện của khóa học",
        "operationId": "Academy_GetCourseImage",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "courseID",
            "in": "path",
            "description": "ID ảnh",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Chiều rộng ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Chiều cao ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "Không tìm thấy tài nguyên"
          }
        }
      }
    },
    "/academy/courses/{courseId}/lessons": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách bài giảng của khóa học",
        "operationId": "Academy_GetLessons",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "ID của khóa hoc",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Lesson"
              }
            }
          },
          "404": {
            "description": "Khóa học không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/courses/{courseId}/isEnrolled": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Kiểm tra xem user đã đăng ký khóa học hay chưa",
        "operationId": "Academy_CheckEnrollment",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Id của khóa học",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/lessons/{lessonId}": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin bài giảng theo ID",
        "operationId": "Academy_GetLesson",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "lessonId",
            "in": "path",
            "description": "ID của bài giảng",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Lesson"
              }
            }
          },
          "404": {
            "description": "Bài giảng không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/news": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách tin tức",
        "operationId": "Academy_GetNews",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "isHot",
            "in": "query",
            "description": "Lọc theo tin nổi bật",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.News"
              }
            }
          },
          "500": {
            "description": "Có lỗi khi lấy tin tức"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/news/{newsId}": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin của tin tức theo ID",
        "operationId": "Academy_GetNews",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "newsId",
            "in": "path",
            "description": "ID của tin",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.News"
            }
          },
          "404": {
            "description": "Tin không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/news/recordCount": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy số lượng tin tức",
        "operationId": "Academy_GetNewsCount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "isHot",
            "in": "query",
            "description": "Lọc theo tin nổi bật",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/news/{newsId}/thumbnail": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy ảnh đại diện của tin",
        "operationId": "Academy_GetNewsThumbnail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "newsId",
            "in": "path",
            "description": "ID của tin",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Kích thước chiều rộng của ảnh",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Kích thước chiều cao của ảnh",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "byte",
              "type": "string"
            }
          },
          "500": {
            "description": "Có lỗi khi lấy ảnh đại diện của tin"
          }
        }
      }
    },
    "/academy/classes/{classId}/teachers": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách giảng viên của lớp học",
        "operationId": "Academy_GetTeacherAssignments",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "classId",
            "in": "path",
            "description": "ID của khóa học",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Teacher"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/classes": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách các lớp học",
        "operationId": "Academy_GetClasses",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Trạng thái lớp học (0: chưa diễn ra, 1: đang tuyển sinh, 2: đã kết thúc, mặc định là 1)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Class"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/classes/{classId}/schedule": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin lịch học",
        "operationId": "Academy_GetCourseSchedules",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "classId",
            "in": "path",
            "description": "ID của lớp học",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.CourseSchedule"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/classes/ownedClasses": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách lớp học của tôi",
        "operationId": "Academy_GetOwnedClass",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Phân loại (0: lớp học, 1: hội thảo, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Class"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/classes/ownedClasses/{classId}/meeting": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin dạy trực tuyến",
        "operationId": "Academy_GenerateOwnedSignature",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "classId",
            "in": "path",
            "description": "ID của lớp học",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.Meeting"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/classes/ownedClasses/{classId}/schedules/{scheduleId}/status": {
      "put": {
        "tags": [
          "Academy"
        ],
        "summary": "Cập nhật trạng thái buổi học",
        "operationId": "Academy_UpdateScheduleStatus",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "classId",
            "in": "path",
            "description": "ID của lớp học",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "scheduleId",
            "in": "path",
            "description": "ID của buổi học",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin trạng thái buổi học",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.CourseScheduleChangeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.CourseSchedule"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-write"
            ]
          }
        ]
      }
    },
    "/academy/classes/enrolledClasses": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy danh sách lớp học đã đăng ký",
        "operationId": "Academy_GetEnrolledClass",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Phân loại (0: lớp học, 1: hội thảo, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Academy.Class"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/classes/enrolledClasses/{classId}/meeting": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin học trực tuyến",
        "operationId": "Academy_GenerateEnrolledSignature",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "classId",
            "in": "path",
            "description": "ID của lớp học",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.Meeting"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy": {
      "post": {
        "tags": [
          "Academy"
        ],
        "summary": "Đăng ký khóa học",
        "operationId": "Academy_Enroll",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin đăng ký",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.EnrollmentChangeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/enrollments/{enrollmentId}": {
      "get": {
        "tags": [
          "Academy"
        ],
        "summary": "Lấy thông tin đăng ký khóa học",
        "operationId": "Academy_GetEnrollment",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "enrollmentId",
            "in": "path",
            "description": "Id đăng ký",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.Enrollment"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-read"
            ]
          }
        ]
      }
    },
    "/academy/{enrollmentId}": {
      "put": {
        "tags": [
          "Academy"
        ],
        "summary": "Duyệt đơn hàng đăng ký khóa học",
        "operationId": "Academy_ProcessEnrollment",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "enrollmentId",
            "in": "path",
            "description": "Mã đơn hàng",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin đăng ký",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.EnrollmentChangeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Academy.Enrollment"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "academy-write"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/bank-account/{accountId}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Trả về thông tin chuyển khoản tiền.",
        "operationId": "Accounts_BankAccount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.BankAccount"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Trả về danh sách tài khoản tại công ty chứng khoán của user.",
        "operationId": "Accounts_Accounts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Account"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/state": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Lấy trạng thái tài khoản tại công ty chứng khoán",
        "operationId": "Accounts_AccountState",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.Account"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/state": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Lấy trạng thái tài khoản tại công ty chứng khoán",
        "operationId": "Accounts_AccountState",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.Account"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/admin/user-info": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Lấy thông tin user theo id",
        "operationId": "Admin_GetUserInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "User id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/admin/block-user": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Block 1 user",
        "operationId": "Admin_BlockUser",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin yêu cầu khóa tài khoản",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.BlockUserRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/admin/yesterday-new-users": {
      "get": {
        "tags": [
          "Admin"
        ],
        "summary": "Danh sách user mới đăng ký hôm trước",
        "operationId": "Admin_GetYesterdayNewUsers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserProfile"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/admin/news": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Tạo tin tức",
        "operationId": "Admin_InsertNews",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin tin tức",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AdminNewsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/admin/news/{postId}": {
      "put": {
        "tags": [
          "Admin"
        ],
        "summary": "Sửa tin tức",
        "operationId": "Admin_UpdateNews",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id tin tức",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin tin tức",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AdminNewsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Admin"
        ],
        "summary": "Xóa tin tức",
        "operationId": "Admin_DeleteNews",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id tin tức",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin UserName thao tác",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AdminNewsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/admin/upload-banner": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Upload ảnh banner quảng cáo vào NAS server",
        "operationId": "Admin_UploadBanner",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/admin/upload-ads-json": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Upload file ads.json vào NAS server",
        "operationId": "Admin_UploadAdsJson",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/admin/upload-ads-content": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Upload file JSON hoặc ảnh cho page content vào NAS server.",
        "operationId": "Admin_UploadAdsContentJson",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/admin/upload-file": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Upload file vào NAS server theo thư mục tùy chỉnh",
        "operationId": "Admin_UploadFile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "folder",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/admin/upload-image": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Upload ảnh vào NAS server",
        "operationId": "Admin_UploadImage",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "401": {
            "description": "Không có quyền thực hiện hành động"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/authentication/anonymous-login": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Đăng nhập nặc danh",
        "operationId": "Authentication_AnonymousLogin",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/login": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Đăng nhập bằng mật khấu",
        "operationId": "Authentication_Login",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.LoginRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/apple-login": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Đăng nhập Apple",
        "operationId": "Authentication_AppleLogin",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.ExternalLoginRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/google-login": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Đăng nhập Google",
        "operationId": "Authentication_GoogleLogin",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.ExternalLoginRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/facebook-login": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Đăng nhập Facebook",
        "operationId": "Authentication_FacebookLogin",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.ExternalLoginRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/registration": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Đăng ký tài khoản",
        "operationId": "Authentication_Register",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.RegisterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/password-reset": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Đặt lại mật khẩu",
        "operationId": "Authentication_ForgotPassword",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.ForgotPasswordRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/email-confirmation": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Gửi email xác nhận tài khoản",
        "operationId": "Authentication_SendConfirmEmail",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.SendConfirmationEmailRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/authentication/refresh-token": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Refresh token",
        "operationId": "Authentication_RefreshToken",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.RefreshTokenRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.RefreshTokenResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/bonds/categories": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Lấy danh sách các danh mục trái phiếu",
        "operationId": "Bond_GetCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "option",
            "in": "query",
            "description": "0:Issuer, 1:Type, 2:RateType, 3:Currency, 4:Exchange, 5:ICB, 6:Form, 7:Method, 8:Status",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "icbLevel",
            "in": "query",
            "description": "Cấp ngành (áp dụng khi option=5)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "isListing",
            "in": "query",
            "description": "1: Đang niêm yết, 0: Hủy niêm yết",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondCategoryItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/bonds/filter": {
      "post": {
        "tags": [
          "Bond"
        ],
        "summary": "Lọc và tìm kiếm trái phiếu",
        "operationId": "Bond_FilterBonds",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Tập hợp điều kiện lọc",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondListItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/bonds/issuer/{symbol}": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Lấy danh sách trái phiếu theo mã tổ chức phát hành",
        "operationId": "Bond_GetBondsBySymbol",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondListItem"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/bonds/{bondCode}": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Lấy thông tin chi tiết một mã trái phiếu",
        "operationId": "Bond_GetBondDetail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "bondCode",
            "in": "path",
            "description": "Mã trái phiếu",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondDetailViewModel"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/bonds/{bondCode}/cashflow": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Lấy lịch dòng tiền tương lai của trái phiếu",
        "operationId": "Bond_GetBondFutureCashFlow",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "bondCode",
            "in": "path",
            "description": "Mã trái phiếu",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.CashFlowJson"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/bonds/stats/issuers/top-debt": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Top doanh nghiệp có dư nợ trái phiếu lớn nhất",
        "operationId": "Bond_GetTopIssuersByDebt",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "description": "Số lượng",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.IssuerStatisticItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/bonds/stats/bonds/high-yield": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Danh sách trái phiếu có lãi suất cao nhất",
        "operationId": "Bond_GetHighYieldBonds",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "minRate",
            "in": "query",
            "description": "Lãi suất thấp nhất",
            "required": false,
            "type": "number",
            "format": "double"
          },
          {
            "name": "top",
            "in": "query",
            "description": "Số lượng",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondListItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/bonds/stats/bonds/maturing-soon": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Danh sách trái phiếu sắp đáo hạn",
        "operationId": "Bond_GetBondsMaturingSoon",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "description": "Số ngày",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondListItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/bonds/stats/industries": {
      "get": {
        "tags": [
          "Bond"
        ],
        "summary": "Thống kê quy mô phát hành theo ngành nghề (ICB)",
        "operationId": "Bond_GetIndustryStatistics",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "description": "Số lượng",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "level",
            "in": "query",
            "description": "Cấp của ngành cần lấy",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.IndustryStatisticItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/brokers": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Trả về danh sách công ty chứng khoán",
        "operationId": "Brokers_Brokers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Broker"
              }
            }
          }
        }
      }
    },
    "/brokers/{brokerId}/link-user-url": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy liên kết dùng để kết nối tài khoản tại công ty chứng khoán với tài khoản FireAnt.",
        "operationId": "Brokers_LinkUserUrl",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "returnUrl",
            "in": "query",
            "description": "Liên kết quay về sau khi kết nối thành công",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/open-account-url": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy liên kết dùng để mở tài khoản tại công ty chứng khoán.",
        "operationId": "Brokers_OpenAccountUrl",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestId",
            "in": "query",
            "description": "Id tham chiếu ứng với yêu cầu mở tài khoản",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/users/{identityNumber}": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy tên tài khoản tại công ty chứng khoán theo số chứng minh thư",
        "operationId": "Brokers_GetBrokerUserName",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "identityNumber",
            "in": "path",
            "description": "Số chứng minh thư",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/job-names": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy danh sách công việc.",
        "operationId": "Brokers_GetJobNames",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Trading.Brokers.Shinhan.JobNameData"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/job-positions": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy danh sách vị trí công việc.",
        "operationId": "Brokers_GetJobPositions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Trading.Brokers.Shinhan.JobNameData"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/referrer-info": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy thông tin người giới thiệu tại công ty chứng khoán.",
        "operationId": "Brokers_GetReferrerInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC, Shinhan...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "referrerCode",
            "in": "query",
            "description": "Mã người giới thiệu",
            "required": true,
            "type": "string"
          },
          {
            "name": "referrenceCode",
            "in": "query",
            "description": "Mã giới thiệu (mặc định: fireant)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.ReferrerInfo"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          },
          "400": {
            "description": "Thông tin người giới thiệu không chính xác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/banks": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy danh sách ngân hàng.",
        "operationId": "Brokers_GetBanks",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Trading.Brokers.Shinhan.JobNameData"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/cif-branches/{branch}": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy danh sách ngân hàng.",
        "operationId": "Brokers_GetCIFBranches",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "branch",
            "in": "path",
            "description": "Id của chi nhánh",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Trading.Brokers.Shinhan.JobNameData"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/kyc-required": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Cần KYC trước để có thể giao dịch",
        "operationId": "Brokers_KycRequired",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/welcome-link": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy welcome link.",
        "operationId": "Brokers_GetWelcomeLink",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.WelcomeLink"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/common-banners": {
      "get": {
        "tags": [
          "Brokers"
        ],
        "summary": "Lấy common banners.",
        "operationId": "Brokers_GetBanners",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Trạng thái của banner (optional)",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại banner (5: banner chính, 6: banner khuyến mại) (optional)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.Banner"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/brokers/{brokerId}/webhook": {
      "post": {
        "tags": [
          "Brokers"
        ],
        "summary": "Webhook nhận trạng thái từ CTCK.",
        "operationId": "Brokers_BrokerWebhook",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: Shinhan, BSC...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "payload",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.BrokerWebhookData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/broker-users": {
      "get": {
        "tags": [
          "BrokerUsers"
        ],
        "summary": "Trả về danh sách user chứng khoán đã kết nối với tài khoản FireAnt",
        "operationId": "BrokerUsers_BrokerUsers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.BrokerUser"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}": {
      "delete": {
        "tags": [
          "BrokerUsers"
        ],
        "summary": "Xóa user chứng khoán đã kết nối với tài khoản FireAnt",
        "operationId": "BrokerUsers_DeleteBrokerUser",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.BrokerUser"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-write"
            ]
          }
        ]
      }
    },
    "/chat/notify": {
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Gửi thông báo",
        "operationId": "Chat_Notify",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "api_key",
            "in": "query",
            "description": "API KEY",
            "required": true,
            "type": "string"
          },
          {
            "name": "sender",
            "in": "query",
            "description": "User ID người gửi",
            "required": true,
            "type": "string"
          },
          {
            "name": "receiver",
            "in": "query",
            "description": "User ID người nhận",
            "required": true,
            "type": "string"
          },
          {
            "name": "roomId",
            "in": "query",
            "description": "ID của room",
            "required": true,
            "type": "string"
          },
          {
            "name": "content",
            "in": "query",
            "description": "Nội dung",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/chat/images": {
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Upload ảnh cho tin nhắn",
        "operationId": "Chat_UpdateImage",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "image",
            "in": "body",
            "description": "Thông tin ảnh cần upload",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Controllers.Api.ChatMessageImageUpload"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/chat/images/{key}": {
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Lấy ảnh trong thông điệp",
        "operationId": "Chat_GetChatImage",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "description": "Key của ảnh",
            "required": true,
            "type": "string"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Chiều rộng ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Chiều cao ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "Không tìm thấy tài nguyên"
          }
        }
      }
    },
    "/events/search": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "Tìm kiếm sự kiện",
        "operationId": "Events_Search",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": false,
            "type": "string"
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "Sắp xêp theo: 1: ngày KHQ (mặc định), 2: ngày chốt DS, 3: ngày thực hiện",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại sự kiện: 1: Cổ tức bằng tiền, 2: cổ tức bằng cổ phiếu, 3: Phát hành cổ phiếu cho CĐHH, 0: tất cả các loại sự kiện (mặc định) (0 = None, 1 = CashDividend, 2 = StockDiviđen, 3 = RightsIssue)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Ngày bắt đầu (Mặc địch là Ngày hiện tại)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Ngày kết thúc (Mặc địch là Ngày hiện tại)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.CompanyEvent"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/executions": {
      "get": {
        "tags": [
          "Executions"
        ],
        "summary": "Trả về danh sách lệnh khớp trong phiên của 1 mã chứng khoán",
        "operationId": "Executions_Executions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "instrument",
            "in": "query",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "maxCount",
            "in": "query",
            "description": "Số lượng bản ghi tối đa",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Execution"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-read"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/is-register": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Check if an account is already registered",
        "operationId": "Fmarket_CheckAccount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.AccountCheckResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/register-account": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Create new Fmarket account",
        "operationId": "Fmarket_RegisterAccount",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.RegisterAccountExtraInfo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.RegisterAccountResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/get-account-info": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Retrieve Fmarket’s account detail",
        "operationId": "Fmarket_GetAccountInfo",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetAccountInformationRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetAccountInformationResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/link-account/create": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Create linked fmarket account",
        "operationId": "Fmarket_CreateLinkAccount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreateLinkAccountResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/link-account/confirm": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Confirm linked fmarket account",
        "operationId": "Fmarket_ConfirmLinkAccount",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmLinkAccountRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmLinkAccountResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/get-access-code": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get accessCode to login to web",
        "operationId": "Fmarket_GetAccessCode",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetAccessCodeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetAccessCodeResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/trading-contract-list": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Retrieve Investor’s trading contract list",
        "operationId": "Fmarket_GetTradingContractList",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetTradingContractListRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.TradingContract"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/esign/create": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Only user have isAllowSign=true in trading contract response can sign",
        "operationId": "Fmarket_CreateSignFmarketContract",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreateESignRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreateESignResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/accounts/esign/confirm": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Confirm sign",
        "operationId": "Fmarket_ConfirmESign",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmESignRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmESignResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/estimate-purchase": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Calculate estimation of volume/fee for purchase order",
        "operationId": "Fmarket_EstimatePurchaseOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.EstimatePurchaseOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.EstimatePurchaseOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/create-purchase-order/request": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Create purchase order",
        "operationId": "Fmarket_CreatePurchaseOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreatePurchaseOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreatePurchaseOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/v2/orders/create-purchase-order/request": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Create purchase order",
        "operationId": "Fmarket_CreatePurchaseOrderV2",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreatePurchaseOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreatePurchaseOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/create-purchase-order/confirm": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Confirm purchase order",
        "operationId": "Fmarket_ConfirmPurchaseOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmPurchaseOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmPurchaseOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/v2/orders/create-purchase-order/confirm": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Confirm purchase order",
        "operationId": "Fmarket_ConfirmPurchaseOrderV2",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmPurchaseOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmPurchaseOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/estimate-sale": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Calculate estimation of amount/fee for sale order",
        "operationId": "Fmarket_EstimateSaleOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.EstimateSaleOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.EstimateSaleOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/create-sale-order/request": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Create sale order",
        "operationId": "Fmarket_CreateSaleOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreateSaleOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreateSaleOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/create-sale-order/confirm": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Confirm sale order",
        "operationId": "Fmarket_ConfirmSaleOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmSaleOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmSaleOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/get-destination-products": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get list of destination product for convert",
        "operationId": "Fmarket_GetListOfDestinationProduct",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetDestinationProductListRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.DestinationProduct"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/estimate-convert": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Calculate estimation of amount/fee/tax for convert order",
        "operationId": "Fmarket_EstimateConvertOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.EstimateConvertOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.EstimateConvertOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/create-convert-order/request": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Create convert order",
        "operationId": "Fmarket_CreateConvertOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreateConvertOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CreateConvertOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/create-convert-order/confirm": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Confirm convert order",
        "operationId": "Fmarket_ConfirmConvertOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmConvertOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ConfirmConvertOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/cancel-order": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Cancel order (if supported, please check field: allowed_cancel=true)",
        "operationId": "Fmarket_CancelOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CancelOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.CancelOrderResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/get-order-detail": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Retrieve order detail",
        "operationId": "Fmarket_GetOrderDetail",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetOrderDetailRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.OrderDetail"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/filter-orders": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Query list of orders",
        "operationId": "Fmarket_FilterOrders",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterOrdersRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterOrdersResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/orders/filter-transactions": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Retrieve transaction list",
        "operationId": "Fmarket_FilterTransactions",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterTransactionsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterTransactionsResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/assets/filter-asset-funds": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Retrieve asset funds",
        "operationId": "Fmarket_FilterAssetFunds",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterAssetFundsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterAssetFundsResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/assets/filter-assets": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Retrieve assets",
        "operationId": "Fmarket_FilterAssets",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterAssetsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterAssetsResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/markets/get-product-detail": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Retrieve Fmarket’s product detail",
        "operationId": "Fmarket_GetProductDetail",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetProductDetailRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductDetail"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/markets/filter-products": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Query list of products",
        "operationId": "Fmarket_FilterProducts",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterProductsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.FilterProductsResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/markets/issuer-list": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get list issuers",
        "operationId": "Fmarket_GetIssuers",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetIssuerListRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetIssuerListResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/static/provinces": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get province list",
        "operationId": "Fmarket_GetProvinces",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetProvincesRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetProvincesResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/static/nationalities": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get nationality  list",
        "operationId": "Fmarket_GetNationalities",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetNationalitiesRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetNationalitiesResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/static/place-of-issue-id-list": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get place of issue id list",
        "operationId": "Fmarket_GetPlaceOfIssueIDList",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetPlaceOfIssueIDListRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetPlaceOfIssueIDListResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/static/banks": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get bank list",
        "operationId": "Fmarket_GetBanks",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetBanksRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetBanksResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/fmarket/static/get-nav-history": {
      "post": {
        "tags": [
          "Fmarket"
        ],
        "summary": "Get Product NAV History",
        "operationId": "Fmarket_GetProductNavHistory",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetProductNavHistoryRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.GetProductNavHistoryResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/hashtags/search": {
      "get": {
        "tags": [
          "HashTags"
        ],
        "summary": "Tìm kiếm chủ đề (hashtag)",
        "operationId": "HashTags_Search",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.SymbolItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/hashtags/{hashTagId}/posts": {
      "get": {
        "tags": [
          "HashTags"
        ],
        "summary": "Lấy danh sách bài viết liên quan tới 1 chủ đề",
        "operationId": "HashTags_GetHashTagPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "hashTagId",
            "in": "path",
            "description": "ID của chủ đề",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/icb/{industryCode}/symbols": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy danh sách mã chứng khoán trong ngành",
        "operationId": "ICB_GetSymbolsInIndustry",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã ngành",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/{industryCode}/statistics": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy thống kê dữ liệu thời điểm hiện tại của ngành",
        "operationId": "ICB_GetCurrentIndustryStats",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã ngành",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustryStatistic"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/statistics": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy thống kê dữ liệu thời điểm hiện tại của tất cả ngành",
        "operationId": "ICB_GetAllLatestIndustryStatistics",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustryStatistic"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/{industryCode}/financial-data": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy dữ liệu tài chính  của ngành",
        "operationId": "ICB_GetFinancialData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã ngành",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại dữ liệu (Y: Năm, Q: Quý, A: Tất cả)",
            "required": true,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng dữ liệu",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialData"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/financial-data": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy dữ liệu tài chính mới nhất của tất cả ngành",
        "operationId": "ICB_GetAllLatestIndustryFinancialData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialData"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/{industryCode}/historical-index": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy dữ liệu chỉ số  của ngành",
        "operationId": "ICB_GetHistoricalIndustryIndex",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã ngành",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Ngày bắt đầu",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Ngày kết thúc",
            "required": true,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustryIndex"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/latest-index": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy dữ liệu tài chính mới nhất của tất cả ngành",
        "operationId": "ICB_GetAllLatestIndustryIndex",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustryIndex"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy danh sách ngành",
        "operationId": "ICB_GetIndustries",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.ICBIndustry"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/industry-info": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy thông tin ngành theo danh sách mã chứng khoán",
        "operationId": "ICB_GetIndustryInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbols",
            "in": "query",
            "description": "Danh sách mã chứng khoán, cách nhau bởi dấu phẩy",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustryInfo"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/icb/{industryCode}/rrg": {
      "get": {
        "tags": [
          "ICB"
        ],
        "summary": "Lấy thống kê RRG",
        "operationId": "ICB_GetRRG",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Ngày bắt đầu",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Ngày kết thúc",
            "required": true,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Statistics.RRGValue"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/individuals/search": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Tìm kiếm cá nhân",
        "operationId": "Individuals_Search",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Individuals.IndividualItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/individuals/{individualId}/photo": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy ảnh một cá nhân",
        "operationId": "Individuals_GetIndividualPhoto",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "individualId",
            "in": "path",
            "description": "ID của cá nhân",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Chiều rộng ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Chiều cao ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "Không tìm thấy tài nguyên"
          }
        }
      }
    },
    "/individuals/{individualId}/posts": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách bài viết liên quan tới một cá nhân",
        "operationId": "Individuals_GetIndividualPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "individualId",
            "in": "path",
            "description": "ID của cá nhân",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/individuals/{individualId}/profile": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy hồ sơ một cá nhân",
        "operationId": "Individuals_GetIndividualProfile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "individualId",
            "in": "path",
            "description": "ID của cá nhân",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Individuals.IndividualProfile"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/individuals/{individualId}/jobs": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách công việc của một cá nhân",
        "operationId": "Individuals_GetIndividualJobs",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "individualId",
            "in": "path",
            "description": "ID của cá nhân",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Individuals.IndividualJob"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/individuals/{individualId}/assets": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách tài sản của một cá nhân",
        "operationId": "Individuals_GetIndividualAssets",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "individualId",
            "in": "path",
            "description": "ID của cá nhân",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Individuals.IndividualAsset"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/individuals/{individualId}/relations": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách mối quan hệ trong gia đình của một cá nhân",
        "operationId": "Individuals_GetIndividualRelations",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "individualId",
            "in": "path",
            "description": "ID của cá nhân",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Individuals.IndividualRelation"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/individuals/{individualId}/transactions": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách giao dịch mua/bán chứng khoán của một cá nhân",
        "operationId": "Individuals_GetIndividualTransactions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "individualId",
            "in": "path",
            "description": "ID của cá nhân",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "executedOnly",
            "in": "query",
            "description": "Chỉ lấy giao dịch đã thưc hiện",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.MajorHolderTransaction"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/individuals/richest": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách người giàu trên sàn chứng khoán",
        "operationId": "Individuals_GetRichestIndividuals",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "sex",
            "in": "query",
            "description": "Lọc theo Giới tính (male, female hoặc để trống để lấy tất cả), mặc định lấy tất cả giới tính",
            "required": false,
            "type": "string"
          },
          {
            "name": "industryCode",
            "in": "query",
            "description": "Lọc theo ngành (mã ngành ICB hoặc để trống để lấy tất cả), mặc định lấy tất cả ngành",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Individuals.RichestIndividualItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/individuals/gainers": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách TOP cá nhân tăng tài sản trong ngày trên sàn chứng khoán",
        "operationId": "Individuals_GetTopWinnerRichestIndividuals",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "query",
            "description": "Lọc theo ngành (mã ngành ICB hoặc để trống để lấy tất cả), mặc định lấy tất cả ngành",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Individuals.RichestIndividualItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/individuals/losers": {
      "get": {
        "tags": [
          "Individuals"
        ],
        "summary": "Lấy danh sách TOP cá nhân giảm tài sản trong ngày trên sàn chứng khoán",
        "operationId": "Individuals_GetTopLoserRichestIndividuals",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "query",
            "description": "Lọc theo ngành (mã ngành ICB hoặc để trống để lấy tất cả), mặc định lấy tất cả ngành",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Individuals.RichestIndividualItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "individuals-read"
            ]
          }
        ]
      }
    },
    "/industries/{industryCode}/historical-stats": {
      "get": {
        "tags": [
          "Industries"
        ],
        "summary": "Lấy thống kê dữ liệu quá khứ của ngành",
        "operationId": "Industries_GetHistoricalIndustryStats",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã ngành",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Ngày bắt đầu",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Ngày kết thúc",
            "required": true,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustrySnapshot"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/industries/{industryCode}/current-stats": {
      "get": {
        "tags": [
          "Industries"
        ],
        "summary": "Lấy thống kê dữ liệu thời điểm hiện tại của ngành",
        "operationId": "Industries_GetCurrentIndustryStats",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã ngành",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustrySnapshot"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/industries/current-stats": {
      "get": {
        "tags": [
          "Industries"
        ],
        "summary": "Lấy thống kê dữ liệu thời điểm hiện tại của tất cả ngành",
        "operationId": "Industries_GetAllCurrentIndustryStats",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustrySnapshot"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/industries": {
      "get": {
        "tags": [
          "Industries"
        ],
        "summary": "Lấy danh sách ngành",
        "operationId": "Industries_GetIndustries",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Industries.ICBIndustry"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/industries/{industryCode}/rrg": {
      "get": {
        "tags": [
          "Industries"
        ],
        "summary": "Lấy thống kê RRG",
        "operationId": "Industries_GetRRG",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "industryCode",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Ngày bắt đầu",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Ngày kết thúc",
            "required": true,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustrySnapshot"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/instruments": {
      "get": {
        "tags": [
          "Instruments"
        ],
        "summary": "Trả danh sách toàn bộ mã chứng khoán",
        "operationId": "Instruments_AllInstruments",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.InstrumentItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/instruments": {
      "get": {
        "tags": [
          "Instruments"
        ],
        "summary": "Trả danh sách mã chứng khoán tài khoản được phép giao dịch",
        "operationId": "Instruments_Instruments",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Instrument"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Lấy danh sách thuật ngữ",
        "operationId": "Investopedia_GetTerms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "categoryId",
            "in": "query",
            "description": "Lọc theo danh mục",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "startWith",
            "in": "query",
            "description": "Lọc theo chữ cái đầu",
            "required": false,
            "type": "string"
          },
          {
            "name": "isMostRead",
            "in": "query",
            "description": "Lọc theo thuật ngữ nhiều người xem nhất",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "isLastest",
            "in": "query",
            "description": "Lọc theo thuật ngữ mới nhất",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Investopedia.InvestopediaTerm"
              }
            }
          },
          "500": {
            "description": "Lỗi hệ thống"
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms/recordCount": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Lấy số lượng thuật ngữ",
        "operationId": "Investopedia_GetTermsCount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "categoryId",
            "in": "query",
            "description": "Lọc theo danh mục",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "startWith",
            "in": "query",
            "description": "Lọc theo chữ cái đầu",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms/search": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Tìm kiếm thuật ngữ theo từ khóa",
        "operationId": "Investopedia_SearchTerms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Investopedia.InvestopediaTerm"
              }
            }
          },
          "404": {
            "description": "Thuật ngữ không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms/keywords/recordCount": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Lấy số lượng thuật ngữ theo từ khóa",
        "operationId": "Investopedia_GetTermsByKeywordsCount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms/{termKey}": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Lấy thông tin thuật ngữ theo tên",
        "operationId": "Investopedia_GetTermByName",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "termKey",
            "in": "path",
            "description": "Tên thuật ngữ",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Investopedia.InvestopediaTerm"
              }
            }
          },
          "404": {
            "description": "Thuật ngữ không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms/{termId}": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Lấy thông tin thuật ngữ theo ID",
        "operationId": "Investopedia_GetTermById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "termId",
            "in": "path",
            "description": "ID của thuật ngữ",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Investopedia.InvestopediaTerm"
              }
            }
          },
          "404": {
            "description": "Thuật ngữ không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms/categories": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Lấy danh sách danh mục thuật ngữ",
        "operationId": "Investopedia_GetInvestopediaCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Investopedia.InvestopediaCategory"
              }
            }
          },
          "500": {
            "description": "Lỗi hệ thống"
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/investopedia/terms/categories/{categoryId}": {
      "get": {
        "tags": [
          "Investopedia"
        ],
        "summary": "Lấy thông tin danh mục thuật ngữ",
        "operationId": "Investopedia_GetInvestopediaCategory",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "categoryId",
            "in": "path",
            "description": "ID của danh mục",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Investopedia.InvestopediaCategory"
            }
          },
          "500": {
            "description": "Lỗi hệ thống"
          }
        },
        "security": [
          {
            "oauth2": [
              "investopedia-read"
            ]
          }
        ]
      }
    },
    "/ir/contracts": {
      "get": {
        "tags": [
          "IR"
        ],
        "summary": "Lấy tất cả hợp đồng IR",
        "operationId": "IR_GetAllContracts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại hợp đồng (0: Tất cả, 1: Còn hạn, 2: Sắp hết hạn, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.InvestorRelations.IRContract"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/ir/contracts/{symbol}": {
      "get": {
        "tags": [
          "IR"
        ],
        "summary": "Lấy chi tiết hợp đồng IR của 1 mã chứng khoán",
        "operationId": "IR_GetLastContractBySymbol",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.InvestorRelations.IRContractDetailInfo"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/ir/latest-statistics/{symbol}": {
      "get": {
        "tags": [
          "IR"
        ],
        "summary": "Lấy thống kê hoạt động IR của 1 mã chứng khoán",
        "operationId": "IR_GetLatestIRContractStatistics",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.InvestorRelations.IRContractLastStatistics"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/ir/historical-statistics/{symbol}": {
      "get": {
        "tags": [
          "IR"
        ],
        "summary": "Lấy lịch sử hoạt động IR của 1 mã chứng khoán",
        "operationId": "IR_GetHistoricalIRContractStatistics",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "periodType",
            "in": "query",
            "description": "Khoảng thời gian (Day: Ngày, Week: Tuần, Month: Tháng, mặc định là Day)",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.InvestorRelations.IRContractHistoricalStatistics"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/ir/post-statistics/{symbol}": {
      "get": {
        "tags": [
          "IR"
        ],
        "summary": "Lấy thống kê hoạt động IR của các bài viết của 1 mã chứng khoán",
        "operationId": "IR_GetIRPostStatisticsBySymbol",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "Từ ngày",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "Đến ngày",
            "required": true,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.InvestorRelations.IRPostStatistics"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/macro-data/types": {
      "get": {
        "tags": [
          "Macro"
        ],
        "summary": "Lấy danh sách các loại dữ liệu vĩ mô",
        "operationId": "Macro_GetMacroIndicatorTypes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Macro.MacroIndicatorType"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/macro-data/{type}/info": {
      "get": {
        "tags": [
          "Macro"
        ],
        "summary": "Lấy dữ liệu vĩ mô theo loại",
        "operationId": "Macro_GetMacroIndicatorInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Macro.MacroIndicatorInfo"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/me/push-tokens": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Đăng ký token để push",
        "operationId": "Me_RegisterPushToken",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.PushTokenUpdateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/recent-symbols": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy các mã chứng khoán gần đây mà user đã xem",
        "operationId": "Me_GetRecentSymbols",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "anonymousUserID",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật các mã chứng khoán gần đây mà user đã xem",
        "operationId": "Me_UpdateRecentSymbols",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.RecentSymbolsUpdateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/web-pushs": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Gửi web push",
        "operationId": "Me_SendPush",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.WebPushMessage"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/web-pushs-topic": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Gửi web push tới topic",
        "operationId": "Me_SendPushToTopic",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.WebPushMessage"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/push-topic-subscribers": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Đăng ký push topic",
        "operationId": "Me_SubscribeToTopic",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "subscription",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.WebPushTopicSubscription"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/push-topic-unsubscribers": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Bỏ đăng ký push topic",
        "operationId": "Me_UnsubscribeToTopic",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "subscription",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.WebPushTopicSubscription"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/emails": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Gửi email",
        "operationId": "Me_SendEmail",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.EmailMessage"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/fbtoken": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy token để xác thực, dùng các dịch vụ lưu trữ trên Firebase",
        "operationId": "Me_GetFirebaseToken",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/phone-number": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy số điện thoại của user",
        "operationId": "Me_GetPhoneNumber",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserPhoneNumber"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật số điện thoại của user",
        "operationId": "Me_UpdateUserPhoneNumber",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.AddPhoneNumberRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.AddPhoneNumberResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/phone-number/verify": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Xác thực số điện thoại của user",
        "operationId": "Me_VerifyUserPhoneNumber",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.PhoneNumberVerificationRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.PhoneNumberVerificationResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/profile": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy hồ sơ của 1 user",
        "operationId": "Me_GetUserProfile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserProfile"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật hồ sơ của 1 user",
        "operationId": "Me_UpdateUserProfile",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserProfileUpdateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserProfile"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/settings": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy các thiết lập hiện tại của user",
        "operationId": "Me_GetUserSettings",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserSettings"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật các thiết lập của user",
        "operationId": "Me_UpdateUserSettings",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "settings",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserSettings"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserSettings"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/purchased-items": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy thông tin các sản phẩm người dùng đã mua",
        "operationId": "Me_GetPurchasedItems",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.PurchasedItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/account": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy thông tin tổng hợp tài khoản của user",
        "operationId": "Me_GetUserAccount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserAccount"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/password": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Kiểm tra tài khoản đã đặt mật khẩu chưa",
        "operationId": "Me_HasPassword",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Thay đổi mật khẩu",
        "operationId": "Me_ChangePassword",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.ChangePasswordRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Đặt mật khẩu",
        "operationId": "Me_SetPassword",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.SetPasswordRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/avatar": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Thay đổi avatar",
        "operationId": "Me_UpdateAvatar",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UpdateAvatarRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/authentic": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Đăng ký chính chủ",
        "operationId": "Me_UpdateUserAuthentic",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/extra-info": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật thông tin bổ sung cho user",
        "operationId": "Me_UpdateUserExtraInfo",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserExtraInfoUpdateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/posts/stream": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách bài viết được hiển thị cho user",
        "operationId": "Me_GetStreamPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/posts": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách bài viết của user",
        "operationId": "Me_GetPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/blocked-users": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách người dùng bạn đang block",
        "operationId": "Me_GetBlockedUsers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Block 1 user",
        "operationId": "Me_BlockUser",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "blockedUserId",
            "in": "body",
            "description": "Id của user cần block",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/blocked-users/{blockedUserId}": {
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Unblock 1 user",
        "operationId": "Me_UnblockUser",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "blockedUserId",
            "in": "path",
            "description": "Id của user cần unblock",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/followers": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách người đang theo dõi bạn",
        "operationId": "Me_GetFollowers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/following": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách người dùng mà bạn đang theo dõi",
        "operationId": "Me_GetFollowing",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Theo dõi 1 user",
        "operationId": "Me_FollowUser",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "followedUserId",
            "in": "body",
            "description": "Id của user cần theo dõi",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/following/{followedUserId}": {
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Bỏ theo dõi 1 user",
        "operationId": "Me_UnfollowUser",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "followedUserId",
            "in": "path",
            "description": "Id của user cần theo dõi",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/hashtags": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách hashtag đang theo dõi",
        "operationId": "Me_GetUserHashTags",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.HashTag"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Theo dõi 1 hashtag",
        "operationId": "Me_FollowHashTag",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "hashTagId",
            "in": "query",
            "description": "Id của hashtag cần theo dõi",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/hashtags/{hashTagId}": {
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Bỏ theo dõi 1 hashtag",
        "operationId": "Me_UnfollowHashTag",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "hashTagId",
            "in": "path",
            "description": "Id của user cần bỏ theo dõi",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/notifications/new": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy số lượng thông báo mới",
        "operationId": "Me_GetNewNotificationCount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Reset lại số lượng thông báo mới",
        "operationId": "Me_ResetNewNotificationCount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/notifications": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách thông báo",
        "operationId": "Me_GetNotifications",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Notification.UserNotification"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa hết thông báo",
        "operationId": "Me_ClearNotifications",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/notifications/unread/{notificationId}": {
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Đánh dấu 1 thông báo là đã đọc",
        "operationId": "Me_MarkNotificationAsRead",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "description": "ID của thông báo",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/notifications/unread": {
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Đánh dấu tất cả thông báo là đã đọc",
        "operationId": "Me_MarkAllNotificationsAsRead",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/watchlists/{watchlistID}/posts": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy bài viết của watchlist",
        "operationId": "Me_GetWatchlistPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "watchlistID",
            "in": "path",
            "description": "ID của watchlist",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/watchlists": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách watchlist",
        "operationId": "Me_GetWatchlists",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Watchlists.Watchlist"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Tạo watchlist",
        "operationId": "Me_CreateWatchlist",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "watchlist",
            "in": "body",
            "description": "Thông tin watchlist",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Watchlists.Watchlist"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Watchlists.Watchlist"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/watchlists/{watchlistId}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy watchlist",
        "operationId": "Me_GetWatchlist",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "watchlistId",
            "in": "path",
            "description": "ID của watchlist",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Watchlists.Watchlist"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật watchlist",
        "operationId": "Me_UpdateWatchlist",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "watchlistId",
            "in": "path",
            "description": "Id của watchlist",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "watchlist",
            "in": "body",
            "description": "Thông tin watchlist",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Watchlists.Watchlist"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Watchlists.Watchlist"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa watchlist",
        "operationId": "Me_DeleteWatchlist",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "watchlistId",
            "in": "path",
            "description": "Id của watchlist",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/watchlists/orders": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật thứ tự hiển thị watchlist",
        "operationId": "Me_UpdateWatchlistOrders",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "orders",
            "in": "body",
            "description": "Thứ tự các watchlist",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Watchlists.WatchlistOrders"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/chart-templates": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách mẫu biểu đồ",
        "operationId": "Me_GetChartTemplates",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Tạo mẫu biểu đồ",
        "operationId": "Me_CreateChartTemplate",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "template",
            "in": "body",
            "description": "Thông tin mẫu biểu đồ",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/following-chart-templates": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách mẫu biểu đồ được chia sẻ",
        "operationId": "Me_GetFollowingChartTemplates",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/fireant-chart-templates": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách mẫu biểu đồ của FireAnt",
        "operationId": "Me_GetFireAntChartTemplates",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/chart-templates/{templateID}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy nội dung mẫu biểu đồ",
        "operationId": "Me_GetChartTemplateContent",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "templateID",
            "in": "path",
            "description": "ID mẫu biểu đồ",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Lưu mẫu biểu đồ",
        "operationId": "Me_SaveChartTemplate",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "templateID",
            "in": "path",
            "description": "Id của mẫu biểu đồ",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "template",
            "in": "body",
            "description": "Thông tin mẫu biểu đồ",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa mẫu biểu đồ",
        "operationId": "Me_DeleteChartTemplate",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "templateID",
            "in": "path",
            "description": "Id của mẫu biểu đồ",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Me"
        ],
        "summary": "Thay đổi thông tin mẫu biểu đồ",
        "operationId": "Me_UpdateChartTemplate",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "templateID",
            "in": "path",
            "description": "Id của mẫu biểu đồ",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "template",
            "in": "body",
            "description": "Thông tin mẫu biểu đồ",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Chart.ChartTemplate"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/membership": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy thông tin hội viên đã đăng ký",
        "operationId": "Me_GetUserMembership",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "noCache",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserMembership"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/alerts/notifications": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách thông báo",
        "operationId": "Me_GetAlertNotifications",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "definitionId",
            "in": "query",
            "description": "Id của cảnh báo",
            "required": false,
            "type": "string"
          },
          {
            "name": "symbol",
            "in": "query",
            "description": "Mã chứng khoán",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AlertNotification"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật thông báo",
        "operationId": "Me_UpdateAlertNotifications",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "notifications",
            "in": "body",
            "description": "Danh sách thông báo",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AlertNotification"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/alerts": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách cảnh báo",
        "operationId": "Me_GetAlertRegistrations",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AlertRegistration"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Thêm đăng ký nhận cảnh báo",
        "operationId": "Me_AddAlertRegistration",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "registration",
            "in": "body",
            "description": "Thông tin đăng ký nhận cảnh báo",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AlertRegistration"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AlertRegistration"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/alerts/{id}": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật đăng ký cảnh báo",
        "operationId": "Me_UpdateAlertRegistration",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id của cảnh báo",
            "required": true,
            "type": "string"
          },
          {
            "name": "registration",
            "in": "body",
            "description": "Thông tin đăng ký nhận cảnh báo",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AlertRegistration"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.AlertRegistration"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa đăng ký nhận cảnh báo",
        "operationId": "Me_DeleteAlertRegistration",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id của cảnh báo",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/mobile-alerts": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách cảnh báo điện thoại",
        "operationId": "Me_GetMobileAlerts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Alerts.MobileAlertRegistration"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Thêm đăng ký nhận cảnh báo điện thoại",
        "operationId": "Me_CreateMobileAlert",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "registration",
            "in": "body",
            "description": "Thông tin đăng ký nhận cảnh báo",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.MobileAlertRegistration"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.MobileAlertRegistration"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/mobile-alerts/{symbol}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy cảnh báo điện thoại với 1 mã chứng khoán",
        "operationId": "Me_GetMobileAlert",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Alerts.MobileAlertRegistration"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa đăng ký nhận cảnh báo điện thoại",
        "operationId": "Me_DeleteMobileAlert",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/fireant-screeners": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách bộ lọc mẫu của FireAnt",
        "operationId": "Me_GetFireAntScreeners",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Screeners.Screener"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/screeners": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách bộ lọc",
        "operationId": "Me_GetScreeners",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Screeners.Screener"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Thêm bộ lọc mới",
        "operationId": "Me_AddScreener",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "screener",
            "in": "body",
            "description": "Thông tin bộ lọc",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Screeners.Screener"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Screeners.Screener"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/screeners/filter": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Thực hiện lọc dựa trên điều kiện json",
        "operationId": "Me_Filter",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "condition",
            "in": "query",
            "description": "Điều kiện lọc",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Screeners.Screener"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/screeners/{id}": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật bộ lọc",
        "operationId": "Me_UpdateScreener",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id của bộ lọc",
            "required": true,
            "type": "string"
          },
          {
            "name": "screener",
            "in": "body",
            "description": "Thông tin bộ lọc",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Screeners.Screener"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Screeners.Screener"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa bộ lọc",
        "operationId": "Me_DeleteScreener",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id của bộ lọc",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/workspaces": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách workspace",
        "operationId": "Me_GetWorkspaces",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Workspaces.Workspace"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Thêm workspace mới",
        "operationId": "Me_AddWorkspace",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "workspace",
            "in": "body",
            "description": "Thông tin workspace",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Workspaces.Workspace"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Workspaces.Workspace"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/workspaces/{id}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy trạng thái workspace",
        "operationId": "Me_GetWorkspaceState",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Workspaces.Workspace"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Cập nhật bộ lọc",
        "operationId": "Me_UpdateWorkspace",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id của bộ lọc",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "workspace",
            "in": "body",
            "description": "Thông tin workspace",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Workspaces.Workspace"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Workspaces.Workspace"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa workspace",
        "operationId": "Me_DeleteWorkspace",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id của workspace",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/room-invitations/{invitationId}": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Ra quyết định với lời mời tham gia nhóm",
        "operationId": "Me_UpdateInvitation",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "action",
            "in": "body",
            "description": "Quyết định với lời mời tham gia nhóm",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomInvitationAction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa lời mời tham gia nhóm",
        "operationId": "Me_DeleteInvitation",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/me/permissions/create-room": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Kiểm tra quyền tạo nhóm của người dùng",
        "operationId": "Me_GetCreateRoomPermission",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/rooms": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách nhóm đang tham gia",
        "operationId": "Me_GetRooms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/rooms/{roomId}": {
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Rởi khỏi nhóm",
        "operationId": "Me_LeaveRoom",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id của nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/rooms/{roomId}/nonmember-users": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Danh sách gợi ý người chưa phải thành viên nhóm",
        "operationId": "Me_GetNonMemberUsers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id của nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm (null để lấy tất)",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/verify-identity": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Xác thực danh tính (KYC)",
        "operationId": "Me_VerifyIdentity",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Tài liệu xác minh người dùng",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserIdentityVerificationRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserIdentityVerificationResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/broker-user/{brokerId}/link": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Link tài khoản đã có tại công ty chứng khoán.",
        "operationId": "Me_LinkBrokerUser",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/broker-user/{brokerId}/suggest-account-number": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Gợi ý số tài khoản tại công ty chứng khoán.",
        "operationId": "Me_SuggestAccountNumber",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC, Shinhan...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.SuggestAccountNumber"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/broker-user/{brokerId}/check-suggest-number": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Kiểm tra số tài khoản có thể chọn tại công ty chứng khoán.",
        "operationId": "Me_CheckSuggestNumber",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC, Shinhan,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "checkSuggestNumberRequest",
            "in": "body",
            "description": "Thông tin số tài khoản cần kiểm tra",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.CheckSuggestAccountNumberRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/broker-user/{brokerId}/econtract": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy thông tin hợp đồng điện tử mở tài khoản tại CTCK.",
        "operationId": "Me_GetEContractInformation",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC, Shinhan,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Số tài khoản ứng với hợp đồng",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.EContractInformation"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/broker-user/{brokerId}/send-otp": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Gửi mã OTP xác thực email.",
        "operationId": "Me_SendOtpEmail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC, Shinhan...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/broker-user/{brokerId}/verify-otp": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Xác thực email bằng OTP.",
        "operationId": "Me_VerifyOtp",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC, Shinhan...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "otpDataRequest",
            "in": "body",
            "description": "Thông OTP cần kiểm tra",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.VerifyOtpDataRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/broker-user/{brokerId}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy trạng thái tài khoản tại công ty chứng khoán.",
        "operationId": "Me_GetBrokerUserStatus",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.BrokerUserStatus"
            }
          },
          "404": {
            "description": "Dữ liệu không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Tạo tài khoản tại công ty chứng khoán.",
        "operationId": "Me_CreateBrokerUser",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "brokerId",
            "in": "path",
            "description": "Id của công ty chứng khoán (VD: BSC,...)",
            "required": true,
            "type": "string"
          },
          {
            "name": "data",
            "in": "body",
            "description": "Form thông tin khách hàng",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.OpenAccountResult"
            }
          },
          "404": {
            "description": "Công ty chứng khoán không tồn tại"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/money-account": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy thông tin tài khoản tiền của người dùng",
        "operationId": "Me_GetAccount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Money.Account"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/money-transactions": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách giao dịch tiền",
        "operationId": "Me_GetTransactions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Money.Transaction"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Tạo giao dịch tiền",
        "operationId": "Me_CreateTransaction",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Money.CreateTransactionRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Money.Transaction"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/banks": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách ngân hàng được hỗ trợ",
        "operationId": "Me_GetBanks",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Money.Bank"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/bank-accounts": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách tài khoản ngân hàng",
        "operationId": "Me_GetBankAccounts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Money.BankAccount"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Thêm tài khoản ngân hàng",
        "operationId": "Me_AddBankAccount",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Money.AddBankAccountRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Money.BankAccount"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/bank-accounts/lookup-name": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Tra cứu tên tài khoản ngân hàng",
        "operationId": "Me_LookupBankAccountName",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Money.LookupBankAccountNameRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/bank-accounts/{bankAccountId}": {
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Xóa tài khoản ngân hàng",
        "operationId": "Me_RemoveBankAccount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/mxv/account": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy thông tin tài khoản hàng hóa MXV",
        "operationId": "Me_GetMXVAccount",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.InvestorAccount"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/mxv/orders": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách lệnh giao dịch hàng hóa MXV",
        "operationId": "Me_GetMXVOrders",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Danh sách trạng thái lệnh (VD: WORKING,FILLED)",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.Order"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/mxv/positions": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy danh sách vị thế mở hàng hóa MXV",
        "operationId": "Me_GetMXVAccountPositions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.AccountPosition"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/me/mxv/account-request": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Lấy yêu cầu tạo tài khoản giao dịch hàng hóa MXV",
        "operationId": "Me_GetMXVAccountRequest",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.AccountRequest"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Yêu cầu tạo tài khoản giao dịch hàng hóa MXV",
        "operationId": "Me_CreateMXVAccountRequest",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.AccountRequestExtraInfo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.AccountRequest"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/pin-code": {
      "put": {
        "tags": [
          "Me"
        ],
        "summary": "Đổi pin code",
        "operationId": "Me_ChangePinCode",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.ChangePinCodeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/request-sms-otp": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Yêu cầu gửi mã OTP qua SMS",
        "operationId": "Me_RequestSmsOTP",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/fmarket-account": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Tạo tài khoản Fmarket",
        "operationId": "Me_CreateFMarketAccount",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.RegisterAccountExtraInfo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/fmarket-account-confirmation": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Xác nhận liên kết tài khoản Fmarket",
        "operationId": "Me_ConfirmLinkFmarketAccount",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserVerificationInfo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/me/upload-file": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Upload file",
        "operationId": "Me_UploadFile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/monitoring/status": {
      "get": {
        "tags": [
          "Monitoring"
        ],
        "summary": "Kiểm tra trạng thái API",
        "operationId": "Monitoring_Status",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        }
      }
    },
    "/mxv/brokers": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy danh sách Môi giới",
        "operationId": "MXV_GetBrokers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVBrokerInfo"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/collaborators": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy danh sách Cộng tác viên",
        "operationId": "MXV_GetCollaborators",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVCollaboratorInfo"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/account": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy thông tin chi tiết tài khoản MXV",
        "operationId": "MXV_GetAccountDetail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVInvestorDetail"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Tạo tài khoản MXV (Future, Nano, MXV)",
        "operationId": "MXV_CreateMXVAccount",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.CreateMXVAccountRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVCreateAccountResponse"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/account/status": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy trạng thái tài khoản MXV (Future, Nano, MXV)",
        "operationId": "MXV_GetMXVAccountStatus",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVInvestorAccountStatus"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/account/margin-status": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy trạng thái ký quỹ hiện tại",
        "operationId": "MXV_GetMarginStatus",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "accountType",
            "in": "query",
            "description": "Loại tài khoản (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVMarginStatus"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/account/margin-transactions": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy lịch sử nộp rút ký quỹ",
        "operationId": "MXV_GetMarginTransactions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Trạng thái (Bắt buộc): PENDING_FOR_MEMBER, PENDING_LEVEL1, PENDING_LEVEL2, PENDING_FOR_BANK, APPROVED, REJECTED. Có thể truyền nhiều giá trị cách nhau bởi dấu phẩy",
            "required": true,
            "type": "string"
          },
          {
            "name": "accountType",
            "in": "query",
            "description": "Loại tài khoản (Optional) (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng bản ghi tối đa (mặc định: 100)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bắt đầu (mặc định: 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVMarginTransaction"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/account/deposit-request": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Yêu cầu nạp tiền vào tài khoản MXV",
        "operationId": "MXV_DepositRequest",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVDepositRequest"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/account/withdraw-request": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Yêu cầu rút tiền từ tài khoản MXV",
        "operationId": "MXV_WithdrawRequest",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVWithdrawRequest"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/account/transfer-money-request": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Yêu cầu chuyển tiền giữa các tài khoản Future, Nano, MXV",
        "operationId": "MXV_TransferMoneyRequest",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVTransferMoneyRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/account/money-requests": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy lịch sử yêu cầu nạp/rút/chuyển tiền của người dùng",
        "operationId": "MXV_GetMoneyRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "accountType",
            "in": "query",
            "description": "Loại tài khoản (Optional) (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng bản ghi tối đa (mặc định: 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bắt đầu (mặc định: 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVMoneyRequestItem"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/market/commodities": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Quản lý hàng hoá",
        "operationId": "MXV_GetCommodities",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVCommodityInfo"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/market/commodities/{commodityCode}": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Chi tiết hàng hoá",
        "operationId": "MXV_GetCommodityDetail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "commodityCode",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVCommodityInfo"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/market/contracts": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Quản lý hợp đồng",
        "operationId": "MXV_GetContracts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "subType",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVContractInfo"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/market/contracts/{contractCode}": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Chi tiết hợp đồng",
        "operationId": "MXV_GetContractDetail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "contractCode",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVContractInfo"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/positions": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Danh sách trạng thái mở",
        "operationId": "MXV_GetPositionsOpen",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVOpenPosition"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/positions/settle": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Danh sách tất toán",
        "operationId": "MXV_GetPositionsSettle",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVSettlePosition"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/transactions": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Danh sách giao dịch",
        "operationId": "MXV_GetTrades",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVTradeInfo"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/orders": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Danh sách lệnh",
        "operationId": "MXV_GetOrders",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVOrderInfo"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Đặt lệnh mới",
        "operationId": "MXV_PlaceOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVNewOrderRequest"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVOrderResponse"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/orders/{clientOrderId}": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Chi tiết lệnh",
        "operationId": "MXV_GetOrderDetail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "clientOrderId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVOrderInfo"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "MXV"
        ],
        "summary": "Sửa lệnh",
        "operationId": "MXV_ReplaceOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "clientOrderId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVReplaceOrderRequest"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": " (0 = FUTURE, 1 = NANO, 2 = MXV)",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVOrderResponse"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "MXV"
        ],
        "summary": "Hủy lệnh",
        "operationId": "MXV_CancelOrder",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "clientOrderId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "side",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "orderId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "accountType",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVOrderResponse"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/traceability/product": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Truy xuất nguồn gốc sản phẩm vật chất",
        "operationId": "MXV_GetProductTraceability",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVProductTraceabilityRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Trả về thông tin sản phẩm",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVTraceabilityProduct]"
            }
          },
          "400": {
            "description": "Thiếu dữ liệu hoặc chưa có tài khoản MXV"
          },
          "404": {
            "description": "Không tìm thấy sản phẩm"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/register": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Đăng ký giao hàng vật chất (bên bán)",
        "operationId": "MXV_PhysicalDeliveryRegister",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalDeliveryRegisterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/cancel": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Huỷ đăng ký giao hàng vật chất",
        "operationId": "MXV_PhysicalDeliveryCancel",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalCancelRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-receive/register": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Đăng ký nhận hàng vật chất (bên mua)",
        "operationId": "MXV_PhysicalReceiveRegister",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalReceiveRegisterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-receive/cancel": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Huỷ đăng ký nhận hàng vật chất",
        "operationId": "MXV_PhysicalReceiveCancel",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalCancelRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/deposit": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Đăng ký lưu ký hàng vật chất vào kho (bên bán)",
        "operationId": "MXV_PhysicalDeliveryDeposit",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalDeliveryDepositRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/cancel-deposit": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Huỷ đăng ký lưu ký hàng vật chất",
        "operationId": "MXV_PhysicalCancelDeposit",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalCancelRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/designated": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Xác nhận giao hàng vật chất chỉ định (bên bán)",
        "operationId": "MXV_PhysicalDeliveryDesignated",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalDeliveryDesignatedRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-receive/designated": {
      "post": {
        "tags": [
          "MXV"
        ],
        "summary": "Xác nhận nhận hàng vật chất chỉ định (bên mua)",
        "operationId": "MXV_PhysicalReceiveDesignated",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.PhysicalReceiveDesignatedRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/history": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy danh sách đăng ký giao/nhận hàng vật chất",
        "operationId": "MXV_GetPhysicalDeliveryHistory",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "contract",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryRecord"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/history/detail": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Lấy thông tin chi tiết đăng ký giao/nhận hàng vật chất",
        "operationId": "MXV_GetPhysicalDeliveryDetail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "refConfirmationCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refRequestCode",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryRecord"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/registrations": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Truy vấn trạng thái đăng ký giao/nhận hàng vật chất",
        "operationId": "MXV_GetPhysicalRegistrations",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "refConfirmationCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refRequestCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refTransactionDate",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalRegistrationStatus"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/deposit-registrations": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Truy vấn trạng thái đăng ký lưu ký vật chất",
        "operationId": "MXV_GetDepositRegistrations",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "refConfirmationCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refDeliveryCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refRequestCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refTransactionDate",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVDepositRegistrationStatus"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/mxv/physical-delivery/transactions": {
      "get": {
        "tags": [
          "MXV"
        ],
        "summary": "Truy vấn trạng thái nhận hàng vật chất tại kho",
        "operationId": "MXV_GetPhysicalTransactions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "refConfirmationCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refPairingCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refRequestCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "refTransactionDate",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalTransactionStatus"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-read"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/orders": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Trả về danh sách lệnh đặt trong phiên",
        "operationId": "Orders_Orders",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Order"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Đặt lệnh",
        "operationId": "Orders_CreateOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "order",
            "in": "body",
            "description": "Thông tin lệnh đặt",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.CreateOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/orders/otp": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Yêu cầu gửi OTP đặt lệnh",
        "operationId": "Orders_SendOtp",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/orders/{orderId}": {
      "put": {
        "tags": [
          "Orders"
        ],
        "summary": "Sửa lệnh",
        "operationId": "Orders_EditOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Id của lệnh",
            "required": true,
            "type": "string"
          },
          {
            "name": "order",
            "in": "body",
            "description": "Thông tin sửa lệnh",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.EditOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Orders"
        ],
        "summary": "Hủy lệnh",
        "operationId": "Orders_DeleteOrder",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Id của lệnh",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/orderHistory": {
      "get": {
        "tags": [
          "OrdersHistory"
        ],
        "summary": "Trả về lịch sử đặt lệnh của tài khoản",
        "operationId": "OrdersHistory_OrderHistory",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "maxCount",
            "in": "query",
            "description": "Số lượng bản ghi tối đa",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Order"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-read"
            ]
          }
        ]
      }
    },
    "/v2/broker-users/{userId}/accounts/{accountId}/orders": {
      "get": {
        "tags": [
          "OrdersV2"
        ],
        "summary": "Trả về danh sách lệnh đặt trong phiên",
        "operationId": "OrdersV2_Orders",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Order"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "OrdersV2"
        ],
        "summary": "Đặt lệnh",
        "operationId": "OrdersV2_CreateOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "order",
            "in": "body",
            "description": "Thông tin lệnh đặt",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.CreateOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/v2/broker-users/{userId}/accounts/{accountId}/orders/otp-required": {
      "get": {
        "tags": [
          "OrdersV2"
        ],
        "summary": "Cần OTP để giao dịch",
        "operationId": "OrdersV2_OtpRequired",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/v2/broker-users/{userId}/accounts/{accountId}/orders/otp": {
      "post": {
        "tags": [
          "OrdersV2"
        ],
        "summary": "Yêu cầu gửi OTP đặt lệnh",
        "operationId": "OrdersV2_SendOtp",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "boolean"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/v2/broker-users/{userId}/accounts/{accountId}/orders/{orderId}": {
      "put": {
        "tags": [
          "OrdersV2"
        ],
        "summary": "Sửa lệnh",
        "operationId": "OrdersV2_EditOrder",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Id của lệnh",
            "required": true,
            "type": "string"
          },
          {
            "name": "order",
            "in": "body",
            "description": "Thông tin sửa lệnh",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Trading.EditOrderRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "OrdersV2"
        ],
        "summary": "Hủy lệnh",
        "operationId": "OrdersV2_DeleteOrder",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Id của lệnh",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/otp/time": {
      "get": {
        "tags": [
          "Otp"
        ],
        "summary": "Lấy giờ máy chủ OTP",
        "operationId": "Otp_RequestSmsOTP",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/otp/sms-otp": {
      "get": {
        "tags": [
          "Otp"
        ],
        "summary": "Yêu cầu gửi mã OTP qua SMS",
        "operationId": "Otp_RequestSmsOtp",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/otp/smart-otp": {
      "get": {
        "tags": [
          "Otp"
        ],
        "summary": "Lấy thông tin đăng ký Smart Otp",
        "operationId": "Otp_GetSmartOtpInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Otp"
        ],
        "summary": "Đăng ký Smart OTP",
        "operationId": "Otp_RegisterSmartOtp",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.RegisterSmartOTPRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "user-data-write"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/positions": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Trả về vị thế mở của tài khoản",
        "operationId": "Positions_Positions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Position"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/broker-users/{userId}/accounts/{accountId}/positions/{positionId}": {
      "delete": {
        "tags": [
          "Positions"
        ],
        "summary": "Đóng vị thế",
        "operationId": "Positions_ClosePosition",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "positionId",
            "in": "path",
            "description": "Id của vị thế",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/v2/broker-users/{userId}/accounts/{accountId}/positions": {
      "get": {
        "tags": [
          "PositionsV2"
        ],
        "summary": "Trả về vị thế mở của tài khoản",
        "operationId": "PositionsV2_Positions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Trading.Position"
              }
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "accounts-read"
            ]
          }
        ]
      }
    },
    "/v2/broker-users/{userId}/accounts/{accountId}/positions/{positionId}": {
      "delete": {
        "tags": [
          "PositionsV2"
        ],
        "summary": "Đóng vị thế",
        "operationId": "PositionsV2_ClosePosition",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user đã kết nối vào tài khoản FireAnt",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Id tài khoản tại công ty chứng khoán của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "positionId",
            "in": "path",
            "description": "Id của vị thế",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "User không tồn tại"
          },
          "403": {
            "description": "Lỗi kết nối tài khoản liên kết tại công ty chứng khoán. Cần liên kết lại tài khoản giao dịch"
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "orders-write"
            ]
          }
        ]
      }
    },
    "/posts/groups": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách nhóm bài viết",
        "operationId": "Posts_GetPostGroups",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostGroup"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/experts": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách chuyên gia",
        "operationId": "Posts_GetExperts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/sources": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách nguồn tin",
        "operationId": "Posts_GetPostSources",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostSource"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/feed": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy news feed của người dùng",
        "operationId": "Posts_GetNewsFeed",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết",
        "operationId": "Posts_GetPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "description": "Lọc theo chứng khoán được tag trong bài viết",
            "required": false,
            "type": "string"
          },
          {
            "name": "userId",
            "in": "query",
            "description": "Lọc theo tác giả bài viết",
            "required": false,
            "type": "string"
          },
          {
            "name": "individualId",
            "in": "query",
            "description": "Lọc theo nhân vật được tag trong bài viết",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "hashTagId",
            "in": "query",
            "description": "Lọc theo chủ đề được tag trong bài viết",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "groupID",
            "in": "query",
            "description": "Lọc theo nhóm bài viết",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Posts"
        ],
        "summary": "Đăng bài viết",
        "operationId": "Posts_InsertPost",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin bài viết",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostChangeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/popular": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết phổ biến",
        "operationId": "Posts_GetPopularPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/livestream": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách livestream",
        "operationId": "Posts_GetLivestreamPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/video": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết video",
        "operationId": "Posts_GetVideoPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/video/top": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách video tiêu điểm",
        "operationId": "Posts_GetTopVideos",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "videoType",
            "in": "query",
            "description": "Loại video (0: Video ngắn, 1: Video dài, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/emagazine": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết emagazine",
        "operationId": "Posts_GetEmagazinePosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/infographic": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết infographic",
        "operationId": "Posts_GetInfographicPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/individuals": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết có đề cập tới các cá nhân",
        "operationId": "Posts_GetIndividualRelatedPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/expert-ideas": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết nhận định chuyên gia",
        "operationId": "Posts_GetExpertIdeas",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/{postId}/related-posts": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bài viết liên quan tới 1 bài viết",
        "operationId": "Posts_GetRelatedPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id của bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/{postId}/replies": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách bình luận của 1 bài viết",
        "operationId": "Posts_GetReplies",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id của bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/{postId}/replies/{replyPostId}/index": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy thứ tự của 1 bình luận trong danh sách bình luận của 1 bài viết",
        "operationId": "Posts_GetReplyPostIndex",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id của bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "replyPostId",
            "in": "path",
            "description": "Id của bài viết bình luận",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/{postId}/likes": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách người thích 1 bài viết",
        "operationId": "Posts_GetLikes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id của bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Posts"
        ],
        "summary": "Thích bài viết",
        "operationId": "Posts_LikePost",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "ID bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Posts"
        ],
        "summary": "Bỏ thích bài viết",
        "operationId": "Posts_UnlikePost",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/{postId}": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy nội dung bài viết",
        "operationId": "Posts_GetPost",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "ID bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Posts"
        ],
        "summary": "Sửa bài viết",
        "operationId": "Posts_UpdatePost",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin bài viết",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostChangeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Posts"
        ],
        "summary": "Xóa bài viết",
        "operationId": "Posts_DeletePost",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/livestream-permission": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Kiểm tra quyền livestream",
        "operationId": "Posts_HasLivestreamPermission",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/kyc-required": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Kiểm tra người dùng có cần KYC khi đăng bài không",
        "operationId": "Posts_HasPostPermission",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/posts/{postId}/livestream/start": {
      "put": {
        "tags": [
          "Posts"
        ],
        "summary": "Bắt đầu livestream",
        "operationId": "Posts_StartLivestream",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/{postId}/livestream/stop": {
      "put": {
        "tags": [
          "Posts"
        ],
        "summary": "Kết thúc livestream",
        "operationId": "Posts_StopLivestream",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "Id bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/images/{imageId}": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy ảnh trong bài viết",
        "operationId": "Posts_GetPostImage",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "ID ảnh",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Chiều rộng ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Chiều cao ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "Không tìm thấy tài nguyên"
          }
        }
      }
    },
    "/posts/{postId}/abuse-reports": {
      "post": {
        "tags": [
          "Posts"
        ],
        "summary": "Báo cáo xấu bài viết",
        "operationId": "Posts_ReportAbuse",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "postId",
            "in": "path",
            "description": "ID bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/link-detail": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy preview của liên kết",
        "operationId": "Posts_GetLinkPreview",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "Liên kết",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.LinkPreview"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/detected-symbols": {
      "post": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách mã chứng khoán trong nội dung bài viết của liên kết",
        "operationId": "Posts_GetSymbols",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Yêu cầu",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostSymbolsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/posts/popular-symbols/{period}": {
      "get": {
        "tags": [
          "Posts"
        ],
        "summary": "Lấy danh sách mã chứng khoán được chia sẻ nhiều",
        "operationId": "Posts_GetPopularSymbols",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "period",
            "in": "path",
            "description": "Giai đoạn (today: Hôm nay, weekly: Trong tuần, monthly: Trong tháng)",
            "required": true,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.PopularSymbol"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/reports/{reportID}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Thông tin về 1 báo cáo",
        "operationId": "Reports_GetReport",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "reportID",
            "in": "path",
            "description": "ID của báo cáo",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Reports.ReportInfo"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/reports/search": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Tìm kiếm báo cáo",
        "operationId": "Reports_Search",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Thời gian bắt đầu",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Thời gian kết thúc",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "categoryID",
            "in": "query",
            "description": "Danh mục báo cáo (bỏ qua nếu muốn tìm tất cả)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sourceID",
            "in": "query",
            "description": "Nguồn báo cáo (bỏ qua nếu muốn tìm tất cả)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sectorID",
            "in": "query",
            "description": "Lĩnh vực báo cáo (bỏ qua nếu muốn tìm tất cả)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "symbol",
            "in": "query",
            "description": "Mã chứng khoán (bỏ qua nếu muốn tìm tất cả)",
            "required": false,
            "type": "string"
          },
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": false,
            "type": "string"
          },
          {
            "name": "ranking",
            "in": "query",
            "description": "Xếp hạng",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Reports.SearchReportResult"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/reports/categories": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Danh sách danh mục báo cáo",
        "operationId": "Reports_GetCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Reports.CategoryInfo"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/reports/sources": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Danh sách nguồn báo cáo",
        "operationId": "Reports_GetSources",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Reports.SourceInfo"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy thông tin về room",
        "operationId": "Rooms_GetRoom",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomDetail"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Rooms"
        ],
        "summary": "Cập nhật thông tin nhóm",
        "operationId": "Rooms_UpdateRoomInfo",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "info",
            "in": "body",
            "description": "Thông tin room",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomUpdateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomDetail"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Rooms"
        ],
        "summary": "Xóa nhóm",
        "operationId": "Rooms_DeleteRoom",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/top/popular": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách nhóm phổ biến",
        "operationId": "Rooms_GetPopularRooms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/rooms/top/featured": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách nhóm đặc sắc",
        "operationId": "Rooms_GetFeaturedRooms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/rooms/top/recommended": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách nhóm được khuyến nghị",
        "operationId": "Rooms_GetRecommendedRooms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/rooms": {
      "post": {
        "tags": [
          "Rooms"
        ],
        "summary": "Tạo room",
        "operationId": "Rooms_CreateRoom",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin room",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomCreationRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomDetail"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/cover-image": {
      "put": {
        "tags": [
          "Rooms"
        ],
        "summary": "Thay đổi ảnh đại diện nhóm",
        "operationId": "Rooms_UpdateRoomCoverImage",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "coverImage",
            "in": "body",
            "description": "Thiết lập nhóm",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomCoverImageUpdateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/invitations": {
      "post": {
        "tags": [
          "Rooms"
        ],
        "summary": "Gửi lời mời",
        "operationId": "Rooms_Invite",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Thông tin người được mời",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomInvitationRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/requests": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách các yêu cầu tham giá nhóm đang chờ",
        "operationId": "Rooms_GetPendingRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomPendingRequest"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Rooms"
        ],
        "summary": "Gửi yêu cầu tham gia nhóm",
        "operationId": "Rooms_SendRequest",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/requests/{requestId}": {
      "put": {
        "tags": [
          "Rooms"
        ],
        "summary": "Duyệt yêu cầu tham gia nhóm",
        "operationId": "Rooms_UpdateRequest",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestId",
            "in": "path",
            "description": "Id của yêu cầu",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "action",
            "in": "body",
            "description": "Quyết định với yêu cầu tham gia nhóm",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomRequestAction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Rooms"
        ],
        "summary": "Xóa yêu cầu tham gia nhóm",
        "operationId": "Rooms_DeleteRequest",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestId",
            "in": "path",
            "description": "Id của yêu cầu",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/members/{userId}/role": {
      "put": {
        "tags": [
          "Rooms"
        ],
        "summary": "Gán quyền cho thành viên",
        "operationId": "Rooms_AssignRole",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "userId",
            "in": "path",
            "description": "Id của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Quyền cần gán",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomAssignmentRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/members": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách thành viên nhóm",
        "operationId": "Rooms_GetMembers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm (null để lấy tất)",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomMember"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/members/{userId}": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy thông tin thành viên trong nhóm",
        "operationId": "Rooms_GetMembers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "userId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomMember"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Rooms"
        ],
        "summary": "Xóa thành viên khỏi nhóm",
        "operationId": "Rooms_RemoveMember",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "userId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/blocked-users": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách người dùng bị chặn",
        "operationId": "Rooms_GetBlockedUsers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Rooms"
        ],
        "summary": "Chặn người dùng",
        "operationId": "Rooms_BlockUser",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "description": "Người dùng bị chặn",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomBlockedUser"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/blocked-users/{userId}": {
      "delete": {
        "tags": [
          "Rooms"
        ],
        "summary": "Bỏ chặn người dùng",
        "operationId": "Rooms_UnblockUser",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "userId",
            "in": "path",
            "description": "Id người dùng đang bị chặn",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/posts": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách bài viết trong nhóm",
        "operationId": "Rooms_GetPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/sticky-posts": {
      "get": {
        "tags": [
          "Rooms"
        ],
        "summary": "Lấy danh sách bài viết đính trong nhóm",
        "operationId": "Rooms_GetStickyPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/rooms/{roomId}/posts/{postId}/sticky": {
      "put": {
        "tags": [
          "Rooms"
        ],
        "summary": "Cập nhật trạng thái đính cho bài viết trong nhóm",
        "operationId": "Rooms_UpdateSticky",
        "consumes": [
          "application/json",
          "text/json"
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "path",
            "description": "Id nhóm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "postId",
            "in": "path",
            "description": "Id của bài viết",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "action",
            "in": "body",
            "description": "Trạng thái đính",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomStickyPostAction"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-write"
            ]
          }
        ]
      }
    },
    "/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Tìm kiếm",
        "operationId": "Search_Search",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại kết quả trả về (symbol, individual, hashtag, user, room, post). Mặc định là \"symbol\"",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.SearchItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "search"
            ]
          }
        ]
      }
    },
    "/search/exact": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Tìm kiếm chính xác",
        "operationId": "Search_SearchExact",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại kết quả trả về (symbol, individual, hashtag, user, room, post, news). Mặc định là \"symbol\"",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "search"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Thông tin mã chứng khoán",
        "operationId": "Symbols_GetSymbol",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.SymbolItem"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/search": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Tìm kiếm mã chứng khoán",
        "operationId": "Symbols_Search",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Từ khóa tìm kiếm",
            "required": true,
            "type": "string"
          },
          {
            "name": "exchange",
            "in": "query",
            "description": "Sàn (HSX, HNX, UPCOM hoặc bỏ trống nếu tìm trên tất cả các sàn)",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại chứng khoán (stock, futures, warrant, index, fund, bond)",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.SymbolItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/movers": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "TOP cổ phiếu biến động",
        "operationId": "Symbols_GetTopMovers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "exchange",
            "in": "query",
            "description": "Sàn (HSX, HNX, UPCOM hoặc bỏ trống nếu tìm trên tất cả các sàn)",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại chứng khoán (stock, warrant, crypto...)",
            "required": false,
            "type": "string"
          },
          {
            "name": "topType",
            "in": "query",
            "description": "Loại TOP (Actives, Gainers, Losers)",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng bản ghi",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/proprietary-trading-value": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "TOP cổ phiếu được tự doanh mua/bán",
        "operationId": "Symbols_ProprietaryTradingNetValue",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "exchange",
            "in": "query",
            "description": "Sàn (HSX, HNX, UPCOM hoặc bỏ trống nếu tìm trên tất cả các sàn)",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại (Deal, Putthrough, Total)",
            "required": false,
            "type": "string"
          },
          {
            "name": "topType",
            "in": "query",
            "description": "Loại top (Buy, Sell, BuySell)",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng bản ghi",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.SymbolValueItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/contribute-to-index": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "TOP mã chứng khoán đóng góp vào index",
        "operationId": "Symbols_TopContributeToIndex",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "exchange",
            "in": "query",
            "description": "Sàn (HSX, HNX, UPCOM)",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại top (1: Đóng góp tăng index, 2: Đóng góp giảm index)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng bản ghi",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.SymbolValueItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/posts": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách bài viết liên quan tới Mã chứng khoán",
        "operationId": "Symbols_GetSymbolPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/rooms": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách nhóm liên quan tới Mã chứng khoán",
        "operationId": "Symbols_GetSymbolRooms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/historical-quotes": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy giá quá khứ của Mã chứng khoán",
        "operationId": "Symbols_GetHistoricalQuotes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Ngày bắt đầu",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Ngày kết thúc",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Quote.HistoricalQuote"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/financial-reports": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy báo cáo tài chính tóm tắt của doanh nghiệp",
        "operationId": "Symbols_GetSummaryFinancialReports",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại báo cáo (BS: Cân đối kế toán, IS: Kết quả SXKD)",
            "required": true,
            "type": "string"
          },
          {
            "name": "period",
            "in": "query",
            "description": "Giai đoạn (Q: Quý, Y: Năm)",
            "required": false,
            "type": "string"
          },
          {
            "name": "compact",
            "in": "query",
            "description": "Rút gọn (Chỉ lấy chỉ tiêu quan trọng, mặc định = 1)",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Mặc địch là 5)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Finance.SummaryFinancialReports"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/full-financial-reports": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy báo cáo tài chính đầy đủ của doanh nghiệp",
        "operationId": "Symbols_GetFinancialReports",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại báo cáo (1: Cân đối kế toán, 2: Kết quả SXKD, 3: Lưu chuyển tiền tệ trực tiếp, 4: Lưu chuyển tiền tệ gián tiếp)",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "year",
            "in": "query",
            "description": "Năm lấy báo cáo",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "quarter",
            "in": "query",
            "description": "Quý lấy báo cáo",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Mặc địch là 5)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialReportRow"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/financial-indicators": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy chỉ tiêu tài chính của doanh nghiệp",
        "operationId": "Symbols_GetFinancialIndicators",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialIndicator"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/fundamental": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin cơ bản, quan trọng của 1 Mã chứng khoán",
        "operationId": "Symbols_GetSymbolFundamental",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Institutions.Fundamental"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/profile": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy hồ sơ công ty",
        "operationId": "Symbols_GetInstitutionProfile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán (với tổ chức đã niêm yết)/ID của tổ chức",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Institutions.CompanyInfo"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/subsidiaries": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách công ty con/liên kết của 1 tổ chức",
        "operationId": "Symbols_GetSubCompanies",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán (với tổ chức đã niêm yết)/ID của tổ chức",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.SubCompanyInfo"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/holders": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách cổ đông lớn của 1 tổ chức",
        "operationId": "Symbols_GetMajorHolders",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán (với tổ chức đã niêm yết)/ID của tổ chức",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.MajorHolder"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/officers": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách ban lãnh đạo của 1 tổ chức",
        "operationId": "Symbols_GetOfficers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán (với tổ chức đã niêm yết)/ID của tổ chức",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.CompanyOfficer"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/holder-transactions": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách giao dịch (Mua/Bán) của các cổ đông lớn (với cổ phiếu của tổ chức)",
        "operationId": "Symbols_GetMajorHolderTransactions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán (với tổ chức đã niêm yết)/ID của tổ chức",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Từ ngày",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Đến ngày",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "executedOnly",
            "in": "query",
            "description": "Chỉ lấy giao dịch đã thưc hiện",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.MajorHolderTransaction"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/timescale-marks": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy các mốc sự kiện theo thời gian (Báo cáo tài chính, Cổ tức,...)",
        "operationId": "Symbols_GetTimescaleMarks",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán (với tổ chức đã niêm yết)/ID của tổ chức",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Từ ngày",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Đến ngày",
            "required": true,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.TimescaleMark"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/transactions": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách giao dịch (Mua/Bán) của tổ chức",
        "operationId": "Symbols_GetTransactions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán (với tổ chức đã niêm yết)/ID của tổ chức",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Từ ngày",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Đến ngày",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.MajorHolderTransaction"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/transactions/{transactionID}": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy chi tiết 1 giao dịch",
        "operationId": "Symbols_GetTransaction",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "transactionID",
            "in": "path",
            "description": "ID giao dịch",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Institutions.MajorHolderTransaction"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/dividends": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thống kê cổ tức hàng năm",
        "operationId": "Symbols_GetDividends",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Institutions.EquityDividend"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/rrg": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thống kê RRG",
        "operationId": "Symbols_GetRRG",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Ngày bắt đầu",
            "required": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Ngày kết thúc",
            "required": true,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Statistics.RRGValue"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/estimated-price": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin định giá",
        "operationId": "Symbols_GetEstimatedPrice",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Statistics.EstimatedPrice"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/commodity-contract": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin chi tiết hợp đồng tương lai hàng hóa phái sinh",
        "operationId": "Symbols_GetCommodityContractInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã hàng hóa CQG",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Commodities.ContractInfo"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/commodities/{category}": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách hợp đồng tương lai hàng hóa phái sinh theo danh mục",
        "operationId": "Symbols_GetCommoditiesByCategory",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "category",
            "in": "path",
            "description": "Nhóm hàng hóa (Metals: Kim loại, Enegies: Năng lượng, Grains: Nông sản, Softs: Nguyên liệu công nghiệp).",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Commodities.ContractInfo"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/warrant-info": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin chi tiết chứng quyền có đảm bảo",
        "operationId": "Symbols_GetWarrantInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng quyền",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Warrant.WarrantInfo"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/crypto-info": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin chi tiết crypto",
        "operationId": "Symbols_GetCryptoInfo",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã crypto",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Crypto.CryptoInfo"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/financial-data": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin tài chính đầy đủ của doanh nghiệp",
        "operationId": "Symbols_GetFullFinancialData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại dữ liệu (Y: Theo năm, Q: Theo quý)",
            "required": true,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng kỳ",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialData"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/all-financial-data": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin tài chính đầy đủ của tất cả doanh nghiệp",
        "operationId": "Symbols_GetAllFinancialData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Loại dữ liệu (Y: Theo năm, Q: Theo quý)",
            "required": true,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng kỳ",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialData"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/financial-data-by-period": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin tài chính đầy đủ của doanh nghiệp theo kỳ báo cáo",
        "operationId": "Symbols_GetFinancialData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "year",
            "in": "query",
            "description": "Năm",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "quarter",
            "in": "query",
            "description": "Quý (1 =&gt; 4: Để lấy báo cáo quý, 0: Để lấy báo cáo năm)",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialData"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/dynamic-financial-data": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy thông tin tài chính động để so sánh giữa các doanh nghiệp",
        "operationId": "Symbols_GetDynamicFinancialData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbols",
            "in": "query",
            "description": "Danh sách mã chứng khoán",
            "required": true,
            "type": "string"
          },
          {
            "name": "indicators",
            "in": "query",
            "description": "Danh sách các chỉ tiêu tài chính",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại dữ liệu (Y: Theo năm, Q: Theo quý)",
            "required": true,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Số lượng kỳ",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/bonds": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy danh sách trái phiếu do công ty phát hành",
        "operationId": "Symbols_GetSymbolBonds",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán của công ty (tổ chức phát hành)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondListItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/bonds/{bondCode}": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy chi tiết một trái phiếu cụ thể do công ty phát hành",
        "operationId": "Symbols_GetSymbolBondDetail",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán của công ty (tổ chức phát hành)",
            "required": true,
            "type": "string"
          },
          {
            "name": "bondCode",
            "in": "path",
            "description": "Mã trái phiếu",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondDetailViewModel"
            }
          },
          "404": {
            "description": "Không tìm thấy mã trái phiếu"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/symbols/{symbol}/bonds/{bondCode}/cashflow": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "Lấy lịch dòng tiền tương lai của một trái phiếu cụ thể",
        "operationId": "Symbols_GetSymbolBondCashFlow",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "description": "Mã chứng khoán của công ty (tổ chức phát hành)",
            "required": true,
            "type": "string"
          },
          {
            "name": "bondCode",
            "in": "path",
            "description": "Mã trái phiếu",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Bonds.CashFlowJson"
              }
            }
          },
          "404": {
            "description": "Không tìm thấy mã trái phiếu"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/profile": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy hồ sơ của 1 user",
        "operationId": "Users_GetUserProfile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Users.UserProfile"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "users-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/avatar": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy ảnh đại diện của 1 user",
        "operationId": "Users_GetUserAvatar",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Chiều rộng ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Chiều cao ảnh (=0 nếu muốn lấy kích thước đầy đủ, mặc định = 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        }
      }
    },
    "/users/active": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách người dùng tích cực",
        "operationId": "Users_GetMostActive",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "description": "Khoảng thời gian thống kê (0: 1 tuần, 1: 1 tháng, 2: 1 năm, 3: tất cả, mặc định là 1 tháng)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "users-read"
            ]
          }
        ]
      }
    },
    "/users/most-followed": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách người dùng được theo dõi nhiều",
        "operationId": "Users_GetMostFollowed",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "users-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/followers": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách người đang theo dõi 1 user",
        "operationId": "Users_GetFollowers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "users-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/following": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách người dùng mà 1 user đang theo dõi",
        "operationId": "Users_GetFollowing",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "users-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/symbols": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách mã chứng khoán quan tâm của 1 user",
        "operationId": "Users_GetUserSymbols",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "symbols-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/posts": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách bài viết của 1 user",
        "operationId": "Users_GetUserPosts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/videos": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách videos của 1 user",
        "operationId": "Users_GetUserVideos",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Loại bài viết (0: Bài viết mạng xã hội, 1: Tin tức, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "videoType",
            "in": "query",
            "description": "Loại bài viết (0: Video ngắn, 1: Video dài, mặc định là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "$ref": "#/definitions/FireAnt.Api.Models.Posts.Post"
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          },
          "404": {
            "description": "User không tồn tại"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    },
    "/users/{userId}/rooms": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Lấy danh sách nhóm đang tham gia của 1 user",
        "operationId": "Users_GetRooms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID của user",
            "required": true,
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Vị trí bản ghi đầu tiên lấy về (Dùng để phân trang, mặc địch là 0)",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Số lượng tối đa bản ghi lấy về (Dùng để phân trang, mặc địch là 20)",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Thành công",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
              }
            }
          },
          "400": {
            "description": "Có lỗi khi thực hiện thao tác"
          }
        },
        "security": [
          {
            "oauth2": [
              "posts-read"
            ]
          }
        ]
      }
    }
  },
  "definitions": {
    "FireAnt.Api.Models.Academy.Subject": {
      "type": "object",
      "properties": {
        "subjectId": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Academy.Course": {
      "type": "object",
      "properties": {
        "courseId": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "duration": {
          "format": "int32",
          "type": "integer"
        },
        "lessonsAmount": {
          "format": "int32",
          "type": "integer"
        },
        "timetable": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "objective": {
          "type": "string"
        },
        "level": {
          "type": "string"
        },
        "fee": {
          "format": "double",
          "type": "number"
        },
        "subject": {
          "$ref": "#/definitions/FireAnt.Api.Models.Academy.Subject"
        },
        "isHot": {
          "type": "boolean"
        },
        "image": {
          "format": "byte",
          "type": "string"
        },
        "introduction": {
          "type": "string"
        },
        "isOnline": {
          "type": "boolean"
        },
        "classId": {
          "format": "int32",
          "type": "integer"
        },
        "teachers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Academy.Teacher"
          }
        },
        "lessons": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Academy.Lesson"
          }
        },
        "type": {
          "format": "int32",
          "description": " (Learning = Khóa học, Seminar = Hội thảo)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "benefit": {
          "type": "string"
        },
        "revenueCatId": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Academy.Teacher": {
      "type": "object",
      "properties": {
        "roleId": {
          "format": "int32",
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "introduction": {
          "type": "string"
        },
        "gender": {
          "format": "int32",
          "description": " (Male = Nam, Female = Nữ)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "photo": {
          "format": "byte",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Academy.Lesson": {
      "type": "object",
      "properties": {
        "lessonId": {
          "format": "int32",
          "type": "integer"
        },
        "lessonName": {
          "type": "string"
        },
        "hasAttachedFile": {
          "type": "boolean"
        },
        "content": {
          "type": "string"
        },
        "videoUrl": {
          "type": "string"
        },
        "courseId": {
          "format": "int32",
          "type": "integer"
        },
        "positionIndex": {
          "format": "int32",
          "type": "integer"
        },
        "course": {
          "$ref": "#/definitions/FireAnt.Api.Models.Academy.Course"
        }
      }
    },
    "FireAnt.Api.Models.Academy.CoursesLevel": {
      "type": "object",
      "properties": {
        "level": {
          "type": "string"
        },
        "count": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Academy.News": {
      "type": "object",
      "properties": {
        "newsId": {
          "format": "int32",
          "type": "integer"
        },
        "title": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "isHot": {
          "type": "boolean"
        },
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "hasAttachedFile": {
          "type": "boolean"
        },
        "approved": {
          "type": "boolean"
        },
        "createdDate": {
          "format": "date-time",
          "type": "string"
        },
        "lastModifiedBy": {
          "type": "string"
        },
        "lastModifiedDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Academy.Class": {
      "type": "object",
      "properties": {
        "classId": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "course": {
          "$ref": "#/definitions/FireAnt.Api.Models.Academy.Course"
        },
        "status": {
          "format": "int32",
          "description": " (NotYet = Chưa bắt đầu, Ongoing = Đang diễn ra, Finished = Đã kết thúc)",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "teachers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Academy.Teacher"
          }
        },
        "type": {
          "format": "int32",
          "description": " (Learning = Khóa học, Seminar = Hội thảo)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Academy.CourseSchedule": {
      "type": "object",
      "properties": {
        "scheduleId": {
          "format": "int32",
          "type": "integer"
        },
        "classId": {
          "format": "int32",
          "type": "integer"
        },
        "time": {
          "format": "date-time",
          "type": "string"
        },
        "teacherUserName": {
          "type": "string"
        },
        "status": {
          "format": "int32",
          "description": " (NotStarted = Chưa bắt đầu, Completed = Đã hoàn thành, Cancelled = Đã hủy)",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "note": {
          "type": "string"
        },
        "lessons": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Academy.Lesson"
          }
        }
      }
    },
    "FireAnt.Api.Models.Academy.Meeting": {
      "type": "object",
      "properties": {
        "meetingId": {
          "type": "string"
        },
        "meetingPassword": {
          "type": "string"
        },
        "signature": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Academy.CourseScheduleChangeRequest": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": " (NotStarted = Chưa bắt đầu, Completed = Đã hoàn thành, Cancelled = Đã hủy)",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Academy.EnrollmentChangeRequest": {
      "description": "Yêu cầu đăng ký khóa học",
      "type": "object",
      "properties": {
        "userName": {
          "description": "Tên đăng nhập",
          "type": "string"
        },
        "courseId": {
          "format": "int32",
          "description": "ID khóa học",
          "type": "integer"
        },
        "email": {
          "description": "Email",
          "type": "string"
        },
        "name": {
          "description": "Họ và tên",
          "type": "string"
        },
        "phone": {
          "description": "Điện thoại",
          "type": "string"
        },
        "address": {
          "description": "Địa chỉ",
          "type": "string"
        },
        "paymentMethod": {
          "format": "int32",
          "description": "Phương thức thanh toán (0 = None, 1 = BankTransfer, 2 = Cash, 3 = Card, 4 = ScratchCard, 5 = Internet, 6 = Mobile)",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "note": {
          "description": "Ghi chú",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Academy.Enrollment": {
      "type": "object",
      "properties": {
        "enrollmentId": {
          "format": "int32",
          "type": "integer"
        },
        "enrollmentDate": {
          "format": "date-time",
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "courseId": {
          "format": "int32",
          "type": "integer"
        },
        "courseName": {
          "type": "string"
        },
        "courseFee": {
          "format": "double",
          "type": "number"
        },
        "address": {
          "type": "string"
        },
        "note": {
          "type": "string"
        },
        "isPaid": {
          "type": "boolean"
        },
        "paymentMethod": {
          "format": "int32",
          "description": " (0 = None, 1 = BankTransfer, 2 = Cash, 3 = Card, 4 = ScratchCard, 5 = Internet, 6 = Mobile)",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Trading.BankAccount": {
      "type": "object",
      "properties": {
        "bankID": {
          "format": "int32",
          "type": "integer"
        },
        "bankBranch": {
          "type": "string"
        },
        "accountNo": {
          "type": "string"
        },
        "accountName": {
          "type": "string"
        },
        "qrCode": {
          "type": "string"
        },
        "bankName": {
          "type": "string"
        },
        "bankCode": {
          "type": "string"
        },
        "bankContent": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.Account": {
      "description": "Tài khoản tại công ty chứng khoán",
      "type": "object",
      "properties": {
        "id": {
          "description": "Id của tài khoản",
          "type": "string"
        },
        "name": {
          "description": "Tên tài khoản",
          "type": "string"
        },
        "currency": {
          "description": "Loại tiền tệ",
          "type": "string"
        },
        "currencySign": {
          "description": "Ký hiệu tiền tệ",
          "type": "string"
        },
        "config": {
          "description": "Cấu hình tài khoản",
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      }
    },
    "FireAnt.Api.Models.Alerts.BlockUserRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "blockComments": {
          "type": "boolean"
        },
        "blockLikes": {
          "type": "boolean"
        },
        "deleteData": {
          "type": "boolean"
        },
        "autoDelete": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserProfile": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "isExpert": {
          "type": "boolean"
        },
        "isTeacher": {
          "type": "boolean"
        },
        "bio": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "facebookLink": {
          "type": "string"
        },
        "totalPosts": {
          "format": "int32",
          "type": "integer"
        },
        "totalLikes": {
          "format": "int64",
          "type": "integer"
        },
        "followers": {
          "format": "int32",
          "type": "integer"
        },
        "following": {
          "format": "int32",
          "type": "integer"
        },
        "followed": {
          "type": "boolean"
        },
        "blocked": {
          "type": "boolean"
        },
        "beingBlocked": {
          "type": "boolean"
        },
        "groups": {
          "format": "int32",
          "type": "integer"
        },
        "isAuthentic": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Alerts.AdminNewsRequest": {
      "type": "object",
      "properties": {
        "userName": {
          "type": "string"
        },
        "post": {
          "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostChangeRequest"
        }
      }
    },
    "FireAnt.Api.Models.Posts.PostChangeRequest": {
      "description": "Yêu cầu đăng/sửa bài",
      "type": "object",
      "properties": {
        "approved": {
          "description": "Approved?",
          "type": "boolean"
        },
        "date": {
          "format": "date-time",
          "description": "Ngày đăng tin",
          "type": "string"
        },
        "title": {
          "description": "Tiêu đề",
          "type": "string"
        },
        "description": {
          "description": "Mô tả",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "description": "Loại (0: Bài viết mạng xã hội, 1: Tin tức)",
          "type": "integer"
        },
        "videoUrl": {
          "description": "Đường dẫn video",
          "type": "string"
        },
        "videoThumbnailUrl": {
          "description": "Đường dẫn thumbnail video",
          "type": "string"
        },
        "videoWidth": {
          "format": "int32",
          "description": "Chiều rộng video",
          "type": "integer"
        },
        "videoHeight": {
          "format": "int32",
          "description": "Chiều cao video",
          "type": "integer"
        },
        "language": {
          "description": "Ngôn ngữ",
          "type": "string"
        },
        "expertUserID": {
          "description": "User name của chuyên gia",
          "type": "string"
        },
        "postGroupID": {
          "format": "int32",
          "description": "ID của nhóm",
          "type": "integer"
        },
        "postSourceID": {
          "format": "int32",
          "description": "ID của nguồn tin",
          "type": "integer"
        },
        "isSourceContentFull": {
          "description": "Đầy đủ nội dung từ tin nguồn?",
          "type": "boolean"
        },
        "postSourceUrl": {
          "description": "Đường dẫn tin nguồn",
          "type": "string"
        },
        "isTop": {
          "description": "Bài viết TOP",
          "type": "boolean"
        },
        "content": {
          "description": "Nội dung",
          "type": "string"
        },
        "link": {
          "description": "Liên kết",
          "type": "string"
        },
        "linkTitle": {
          "description": "Tiêu đề liên kết",
          "type": "string"
        },
        "linkDescription": {
          "description": "Mô tả liên kết",
          "type": "string"
        },
        "linkImage": {
          "description": "Ảnh liên kết",
          "type": "string"
        },
        "roomID": {
          "format": "int32",
          "description": "ID của nhóm chứa bài viết",
          "type": "integer"
        },
        "referToPostID": {
          "format": "int32",
          "description": "Tham chiếu tới bài viết",
          "type": "integer"
        },
        "replyToPostID": {
          "format": "int32",
          "description": "Trả lời cho bài viết",
          "type": "integer"
        },
        "sentiment": {
          "format": "int32",
          "description": "Đánh giá bài viết (-1 =&gt; Tiêu cực, 0 =&gt; Bình thường, 1 =&gt; Tích cực)",
          "type": "integer"
        },
        "images": {
          "description": "Danh sách ảnh đính kèm bài viết (ImageID = 0 cho file mới, ImageID &gt; 0 với file cũ)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostImage"
          }
        },
        "files": {
          "description": "Danh sách tài liệu đính kèm bài viết (FileID = 0 cho file mới, FileID &gt; 0 với file cũ)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostFile"
          }
        },
        "symbols": {
          "description": "Mã chứng khoán được tag trong nội dung",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "individuals": {
          "description": "Cá nhân được tag trong nội dung",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "hashTags": {
          "description": "Hashtag được tag trong nội dung",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "users": {
          "description": "User được tag trong nội dung",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "videoType": {
          "format": "int32",
          "description": "Loại video (0: Short, 1: Long)",
          "type": "integer"
        },
        "isVideo": {
          "description": "Bài viết video",
          "type": "boolean"
        },
        "isEmagazine": {
          "description": "Bài viết là e-magazine",
          "type": "boolean"
        },
        "isInfographic": {
          "description": "Bài viết là infographic",
          "type": "boolean"
        },
        "newsType": {
          "format": "int32",
          "type": "integer"
        },
        "summary": {
          "type": "string"
        },
        "isLivestream": {
          "type": "boolean"
        },
        "streamingUrl": {
          "type": "string"
        },
        "streamingKey": {
          "type": "string"
        },
        "youtubeStreamingUrl": {
          "type": "string"
        },
        "youtubeStreamingKey": {
          "type": "string"
        },
        "facebookStreamingUrl": {
          "type": "string"
        },
        "facebookStreamingKey": {
          "type": "string"
        },
        "livestreamAction": {
          "type": "boolean"
        },
        "livestreamActionTitle": {
          "type": "string"
        },
        "livestreamActionUrl": {
          "type": "string"
        },
        "livestreamActionRoute": {
          "type": "string"
        },
        "repliesDisabled": {
          "type": "boolean"
        },
        "repliesModerationRequired": {
          "type": "boolean"
        },
        "pendingApproval": {
          "type": "boolean"
        },
        "isAIGenerated": {
          "type": "boolean"
        },
        "contentURL": {
          "type": "string"
        },
        "hasSummary": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Posts.PostImage": {
      "type": "object",
      "properties": {
        "imageID": {
          "format": "int32",
          "type": "integer"
        },
        "base64Image": {
          "type": "string"
        },
        "imageUrl": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.PostFile": {
      "type": "object",
      "properties": {
        "fileID": {
          "format": "int32",
          "type": "integer"
        },
        "fileName": {
          "type": "string"
        },
        "fileExtension": {
          "type": "string"
        },
        "base64Content": {
          "type": "string"
        },
        "fileContentUrl": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.Post": {
      "type": "object",
      "properties": {
        "postID": {
          "format": "int32",
          "type": "integer"
        },
        "userName": {
          "type": "string"
        },
        "user": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "summary": {
          "type": "string"
        },
        "hasSummary": {
          "type": "boolean"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        },
        "newsType": {
          "format": "int32",
          "type": "integer"
        },
        "videoUrl": {
          "type": "string"
        },
        "videoThumbnailUrl": {
          "type": "string"
        },
        "videoWidth": {
          "format": "int32",
          "type": "integer"
        },
        "videoHeight": {
          "format": "int32",
          "type": "integer"
        },
        "language": {
          "type": "string"
        },
        "postGroup": {
          "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostGroup"
        },
        "postSource": {
          "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostSource"
        },
        "isSourceContentFull": {
          "type": "boolean"
        },
        "postSourceUrl": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "originalContent": {
          "type": "string"
        },
        "contentURL": {
          "type": "string"
        },
        "isAIGenerated": {
          "type": "boolean"
        },
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "priority": {
          "format": "int32",
          "type": "integer"
        },
        "hasImage": {
          "type": "boolean"
        },
        "hasFile": {
          "type": "boolean"
        },
        "link": {
          "type": "string"
        },
        "linkImage": {
          "type": "string"
        },
        "linkTitle": {
          "type": "string"
        },
        "linkDescription": {
          "type": "string"
        },
        "sentiment": {
          "format": "int32",
          "type": "integer"
        },
        "approved": {
          "type": "boolean"
        },
        "isTop": {
          "type": "boolean"
        },
        "isExpertIdea": {
          "type": "boolean"
        },
        "liked": {
          "type": "boolean"
        },
        "totalLikes": {
          "format": "int32",
          "type": "integer"
        },
        "totalReplies": {
          "format": "int32",
          "type": "integer"
        },
        "totalShares": {
          "format": "int32",
          "type": "integer"
        },
        "replyToPostID": {
          "format": "int32",
          "type": "integer"
        },
        "referToPostID": {
          "format": "int32",
          "type": "integer"
        },
        "taggedSymbols": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.TaggedSymbol"
          }
        },
        "taggedIndividuals": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.TaggedIndividual"
          }
        },
        "taggedHashTags": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.TaggedHashTag"
          }
        },
        "taggedUsers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.TaggedUser"
          }
        },
        "images": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostImage"
          }
        },
        "files": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Posts.PostFile"
          }
        },
        "roomID": {
          "format": "int32",
          "type": "integer"
        },
        "roomName": {
          "type": "string"
        },
        "isRoomSticky": {
          "type": "boolean"
        },
        "videoType": {
          "format": "int32",
          "type": "integer"
        },
        "isVideo": {
          "type": "boolean"
        },
        "isEmagazine": {
          "type": "boolean"
        },
        "isInfographic": {
          "type": "boolean"
        },
        "lastRepliedDate": {
          "format": "date-time",
          "type": "string"
        },
        "isLivestream": {
          "type": "boolean"
        },
        "livestreamStarted": {
          "type": "boolean"
        },
        "livestreamEnded": {
          "type": "boolean"
        },
        "streamingUrl": {
          "type": "string"
        },
        "streamingKey": {
          "type": "string"
        },
        "youtubeStreamingUrl": {
          "type": "string"
        },
        "youtubeStreamingKey": {
          "type": "string"
        },
        "facebookStreamingUrl": {
          "type": "string"
        },
        "facebookStreamingKey": {
          "type": "string"
        },
        "livestreamAction": {
          "type": "boolean"
        },
        "livestreamActionTitle": {
          "type": "string"
        },
        "livestreamActionUrl": {
          "type": "string"
        },
        "livestreamActionRoute": {
          "type": "string"
        },
        "repliesDisabled": {
          "type": "boolean"
        },
        "repliesModerationRequired": {
          "type": "boolean"
        },
        "pendingApproval": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "bio": {
          "type": "string"
        },
        "isAuthentic": {
          "type": "boolean"
        },
        "followed": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Posts.PostGroup": {
      "type": "object",
      "properties": {
        "postGroupID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.PostSource": {
      "type": "object",
      "properties": {
        "postSourceID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.TaggedSymbol": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "change": {
          "format": "double",
          "type": "number"
        },
        "percentChange": {
          "format": "double",
          "type": "number"
        },
        "changeSince": {
          "format": "double",
          "type": "number"
        },
        "percentChangeSince": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Posts.TaggedIndividual": {
      "type": "object",
      "properties": {
        "individualID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.TaggedHashTag": {
      "type": "object",
      "properties": {
        "hashTagID": {
          "format": "int32",
          "type": "integer"
        },
        "symbol": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.TaggedUser": {
      "type": "object",
      "properties": {
        "userID": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.LoginRequest": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "rememberMe": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.ExternalLoginRequest": {
      "type": "object",
      "properties": {
        "accessToken": {
          "type": "string"
        },
        "idToken": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.RegisterRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "confirmPassword": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.ForgotPasswordRequest": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.SendConfirmationEmailRequest": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.RefreshTokenRequest": {
      "type": "object",
      "properties": {
        "refreshToken": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.RefreshTokenResult": {
      "type": "object",
      "properties": {
        "succeeded": {
          "type": "boolean"
        },
        "errorMessage": {
          "type": "string"
        },
        "accessToken": {
          "type": "string"
        },
        "refreshToken": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.BondCategoryItem": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.BondFilterRequest": {
      "type": "object",
      "properties": {
        "bondTypeID": {
          "format": "int32",
          "type": "integer"
        },
        "bondRateTypeID": {
          "format": "int32",
          "type": "integer"
        },
        "currencyID": {
          "format": "int32",
          "type": "integer"
        },
        "marketID": {
          "format": "int32",
          "type": "integer"
        },
        "icbCode": {
          "type": "string"
        },
        "issueFormID": {
          "format": "int32",
          "type": "integer"
        },
        "issueMethodID": {
          "format": "int32",
          "type": "integer"
        },
        "statusID": {
          "format": "int32",
          "type": "integer"
        },
        "issuerName": {
          "type": "string"
        },
        "issuerInstitutionID": {
          "format": "int32",
          "type": "integer"
        },
        "issuerSymbol": {
          "type": "string"
        },
        "isListing": {
          "format": "int32",
          "type": "integer"
        },
        "issueDateFrom": {
          "format": "date-time",
          "type": "string"
        },
        "issueDateTo": {
          "format": "date-time",
          "type": "string"
        },
        "maturityDateFrom": {
          "format": "date-time",
          "type": "string"
        },
        "maturityDateTo": {
          "format": "date-time",
          "type": "string"
        },
        "minBondRate": {
          "format": "double",
          "type": "number"
        },
        "maxBondRate": {
          "format": "double",
          "type": "number"
        },
        "minTenorMonths": {
          "format": "int32",
          "type": "integer"
        },
        "maxTenorMonths": {
          "format": "int32",
          "type": "integer"
        },
        "top": {
          "format": "int32",
          "type": "integer"
        },
        "sortBy": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.BondListItem": {
      "type": "object",
      "properties": {
        "bondCode": {
          "type": "string"
        },
        "issuerName": {
          "type": "string"
        },
        "tenorPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "issueDate": {
          "format": "date-time",
          "type": "string"
        },
        "maturityDate": {
          "format": "date-time",
          "type": "string"
        },
        "bondRate": {
          "format": "double",
          "type": "number"
        },
        "bondRateType": {
          "type": "string"
        },
        "currentListedVolume": {
          "format": "double",
          "type": "number"
        },
        "status": {
          "type": "string"
        },
        "infoObj": {
          "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondInfoJson"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.BondInfoJson": {
      "type": "object",
      "properties": {
        "bondCode": {
          "type": "string"
        },
        "issuerInstitutionID": {
          "format": "int32",
          "type": "integer"
        },
        "issuerSymbol": {
          "type": "string"
        },
        "issueICBCode": {
          "type": "string"
        },
        "icbNameLv1": {
          "type": "string"
        },
        "icbNameLv2": {
          "type": "string"
        },
        "icbNameLv3": {
          "type": "string"
        },
        "icbNameLv4": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.BondDetailViewModel": {
      "type": "object",
      "properties": {
        "bondCode": {
          "type": "string"
        },
        "detail": {
          "$ref": "#/definitions/FireAnt.Api.Models.Bonds.BondDetailJson"
        },
        "history": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Bonds.RegistrationHistoryJson"
          }
        },
        "cashFlows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Bonds.CashFlowJson"
          }
        }
      }
    },
    "FireAnt.Api.Models.Bonds.BondDetailJson": {
      "type": "object",
      "properties": {
        "bondCode": {
          "type": "string"
        },
        "isin": {
          "type": "string"
        },
        "issuerName": {
          "type": "string"
        },
        "issuerSymbol": {
          "type": "string"
        },
        "issuerListingStatus": {
          "type": "boolean"
        },
        "institutionID": {
          "format": "int32",
          "type": "integer"
        },
        "issuerICBCode": {
          "type": "string"
        },
        "bondName": {
          "type": "string"
        },
        "bondType": {
          "type": "string"
        },
        "market": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "couponRate": {
          "type": "string"
        },
        "couponRateType": {
          "type": "string"
        },
        "interestPaymentMethod": {
          "type": "string"
        },
        "issueDate": {
          "format": "date-time",
          "type": "string"
        },
        "maturityDate": {
          "format": "date-time",
          "type": "string"
        },
        "tenorPeriod": {
          "type": "string"
        },
        "faceValue": {
          "format": "double",
          "type": "number"
        },
        "currency": {
          "type": "string"
        },
        "totalIssuedValue": {
          "format": "double",
          "type": "number"
        },
        "currentListedValue": {
          "format": "double",
          "type": "number"
        },
        "issueForm": {
          "type": "string"
        },
        "issueMethod": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.RegistrationHistoryJson": {
      "type": "object",
      "properties": {
        "registrationNo": {
          "format": "int32",
          "type": "integer"
        },
        "registrationType": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "value": {
          "format": "double",
          "type": "number"
        },
        "registrationCert": {
          "type": "string"
        },
        "registrationDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.CashFlowJson": {
      "type": "object",
      "properties": {
        "periodNo": {
          "format": "int32",
          "type": "integer"
        },
        "periodStart": {
          "format": "date-time",
          "type": "string"
        },
        "periodEnd": {
          "format": "date-time",
          "type": "string"
        },
        "paymentDate": {
          "format": "date-time",
          "type": "string"
        },
        "bondRate": {
          "format": "double",
          "type": "number"
        },
        "yearFraction": {
          "format": "double",
          "type": "number"
        },
        "interestAmount": {
          "format": "double",
          "type": "number"
        },
        "principalAmount": {
          "format": "double",
          "type": "number"
        },
        "totalCashflow": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.IssuerStatisticItem": {
      "type": "object",
      "properties": {
        "issuerName": {
          "type": "string"
        },
        "issuerSymbol": {
          "type": "string"
        },
        "issuerInstitutionID": {
          "format": "int32",
          "type": "integer"
        },
        "bondCount": {
          "format": "int32",
          "type": "integer"
        },
        "totalIssuedValue": {
          "format": "double",
          "type": "number"
        },
        "totalDebtFull": {
          "format": "double",
          "type": "number"
        },
        "totalRemainingDebt": {
          "format": "double",
          "type": "number"
        },
        "avgRate": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Bonds.IndustryStatisticItem": {
      "type": "object",
      "properties": {
        "icbCode": {
          "type": "string"
        },
        "icbName": {
          "type": "string"
        },
        "bondCount": {
          "format": "int32",
          "type": "integer"
        },
        "totalIssuedVolume": {
          "format": "double",
          "type": "number"
        },
        "totalIssuedValue": {
          "format": "double",
          "type": "number"
        },
        "totalCurrentListedVolume": {
          "format": "double",
          "type": "number"
        },
        "totalCurrentListedValue": {
          "format": "double",
          "type": "number"
        },
        "totalDebtFull": {
          "format": "double",
          "type": "number"
        },
        "totalRemainingDebt": {
          "format": "double",
          "type": "number"
        },
        "avgRate": {
          "format": "double",
          "type": "number"
        },
        "avgCouponRate": {
          "format": "double",
          "type": "number"
        },
        "floatingRate": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Trading.Broker": {
      "type": "object",
      "properties": {
        "brokerId": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "logo": {
          "type": "string"
        }
      }
    },
    "FireAnt.Trading.Brokers.Shinhan.JobNameData": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.ReferrerInfo": {
      "type": "object",
      "properties": {
        "referrerName": {
          "type": "string"
        },
        "referrerCode": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.WelcomeLink": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "link": {
          "type": "string"
        },
        "updatedAt": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.Banner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "orderStt": {
          "type": "string"
        },
        "imageUrl": {
          "type": "string"
        },
        "link": {
          "type": "string"
        },
        "displayStart": {
          "type": "string"
        },
        "displayEnd": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "updatedAt": {
          "type": "string"
        },
        "createdAt": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.BrokerWebhookData": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "data": {
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.Trading.BrokerUser": {
      "type": "object",
      "properties": {
        "userId": {
          "format": "int32",
          "type": "integer"
        },
        "userName": {
          "type": "string"
        },
        "brokerId": {
          "type": "string"
        },
        "brokerName": {
          "type": "string"
        },
        "linkedUserName": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Controllers.Api.ChatMessageImageUpload": {
      "type": "object",
      "properties": {
        "image": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.CompanyEvent": {
      "type": "object",
      "properties": {
        "eventID": {
          "format": "int32",
          "type": "integer"
        },
        "symbol": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "recordDate": {
          "format": "date-time",
          "type": "string"
        },
        "registrationDate": {
          "format": "date-time",
          "type": "string"
        },
        "executionDate": {
          "format": "date-time",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "description": " (0 = None, 1 = CashDividend, 2 = StockDiviđen, 3 = RightsIssue)",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Trading.Execution": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "instrument": {
          "type": "string"
        },
        "instrumentItem": {
          "$ref": "#/definitions/FireAnt.Api.Models.Trading.InstrumentItem"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "time": {
          "format": "double",
          "type": "number"
        },
        "qty": {
          "format": "double",
          "type": "number"
        },
        "side": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.InstrumentItem": {
      "type": "object",
      "properties": {
        "instrument": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "exchange": {
          "type": "string"
        },
        "unit": {
          "format": "int32",
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "supportStopOrder": {
          "type": "boolean"
        },
        "supportLimitOrder": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.AccountCheckResult": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "full_name": {
          "type": "string"
        },
        "id_no": {
          "type": "string"
        },
        "cell_phone": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.RegisterAccountExtraInfo": {
      "type": "object",
      "properties": {
        "bank_account_id": {
          "format": "int32",
          "type": "integer"
        },
        "mailing_address": {
          "type": "string"
        },
        "province_id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.RegisterAccountResult": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetAccountInformationRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetAccountInformationResult": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "full_name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "email_verified": {
          "type": "boolean"
        },
        "cell_phone": {
          "type": "string"
        },
        "cell_phone_verified": {
          "type": "boolean"
        },
        "gender": {
          "format": "int32",
          "type": "integer"
        },
        "dob": {
          "type": "string"
        },
        "province_id": {
          "format": "int32",
          "type": "integer"
        },
        "nationality_id": {
          "type": "string"
        },
        "nationality_label": {
          "type": "string"
        },
        "id_type": {
          "type": "string"
        },
        "id_no": {
          "type": "string"
        },
        "id_date_of_issue": {
          "type": "string"
        },
        "id_place_of_issue": {
          "type": "string"
        },
        "id_front_photo_url": {
          "type": "string"
        },
        "id_back_photo_url": {
          "type": "string"
        },
        "permanent_address": {
          "type": "string"
        },
        "mailing_address": {
          "type": "string"
        },
        "bank_account_no": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankAccountInfo"
        },
        "contract_url": {
          "type": "string"
        },
        "is_linked": {
          "type": "boolean"
        },
        "is_kyc": {
          "type": "boolean"
        },
        "fatca_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.BankAccountInfo": {
      "type": "object",
      "properties": {
        "bank_id": {
          "type": "string"
        },
        "bank_swift_code": {
          "type": "string"
        },
        "bank_name": {
          "type": "string"
        },
        "bank_branch": {
          "type": "string"
        },
        "bank_acc_no": {
          "type": "string"
        },
        "bank_acc_name": {
          "type": "string"
        },
        "bin_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreateLinkAccountResult": {
      "type": "object",
      "properties": {
        "verification_id": {
          "type": "string"
        },
        "verification_token_required": {
          "type": "string"
        },
        "verification_token_expire_time": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmLinkAccountRequest": {
      "type": "object",
      "properties": {
        "verification_id": {
          "type": "string"
        },
        "verification_token": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmLinkAccountResult": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetAccessCodeRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetAccessCodeResult": {
      "type": "object",
      "properties": {
        "access_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetTradingContractListRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.TradingContract": {
      "type": "object",
      "properties": {
        "trading_contract_id": {
          "format": "int32",
          "type": "integer"
        },
        "trading_contract_no": {
          "type": "string"
        },
        "trading_contract_url": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "is_sign": {
          "type": "boolean"
        },
        "is_allow_sign": {
          "type": "boolean"
        },
        "issuer_info": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.IssuerInformation"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.IssuerInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "short_name": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreateESignRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "trading_contract_id": {
          "format": "int32",
          "type": "integer"
        },
        "base64_file": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreateESignResult": {
      "type": "object",
      "properties": {
        "verification_id": {
          "type": "string"
        },
        "verification_token_required": {
          "type": "boolean"
        },
        "verification_token_expire_time": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmESignRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "verification_id": {
          "type": "string"
        },
        "verification_token": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmESignResult": {
      "type": "object",
      "properties": {}
    },
    "FireAnt.Api.Models.Fmarket.EstimatePurchaseOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "product_id": {
          "format": "int32",
          "type": "integer"
        },
        "amount": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.EstimatePurchaseOrderResult": {
      "type": "object",
      "properties": {
        "estimate_volume": {
          "format": "double",
          "type": "number"
        },
        "estimate_fee_percent": {
          "format": "double",
          "type": "number"
        },
        "estimate_fee_amount": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreatePurchaseOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "product_id": {
          "format": "int32",
          "type": "integer"
        },
        "amount": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreatePurchaseOrderResult": {
      "type": "object",
      "properties": {
        "verification_id": {
          "type": "string"
        },
        "verification_token_required": {
          "type": "boolean"
        },
        "verification_token_expire_time": {
          "format": "int64",
          "type": "integer"
        },
        "code": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "type_label": {
          "type": "string"
        },
        "create_date": {
          "format": "int64",
          "type": "integer"
        },
        "create_date_format": {
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "amount_net": {
          "format": "double",
          "type": "number"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "fee_percent": {
          "format": "double",
          "type": "number"
        },
        "fee_amount": {
          "format": "double",
          "type": "number"
        },
        "product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "dst_product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "investor_bank_acc": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankAccountInfo"
        },
        "receive_money_bank_acc": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankAccountInfo"
        },
        "transfer_content": {
          "type": "string"
        },
        "tax_percent": {
          "format": "double",
          "type": "number"
        },
        "tax_amount": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ProductInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "code": {
          "type": "string"
        },
        "short_name": {
          "type": "string"
        },
        "nav": {
          "format": "double",
          "type": "number"
        },
        "approval_date_label": {
          "type": "string"
        },
        "sale_payment_term": {
          "format": "int32",
          "type": "integer"
        },
        "order_book_closed_time_label": {
          "type": "string"
        },
        "receive_money_closed_time_label": {
          "type": "string"
        },
        "trading_session": {
          "format": "int64",
          "type": "integer"
        },
        "trading_session_format": {
          "type": "string"
        },
        "nav_date": {
          "type": "string"
        },
        "nav_to_previous_value": {
          "format": "double",
          "type": "number"
        },
        "nav_to_previous": {
          "format": "double",
          "type": "number"
        },
        "issuer_info": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.IssuerInformation"
        },
        "nav_change": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.NavChange"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.NavChange": {
      "type": "object",
      "properties": {
        "nav_to_3_months": {
          "format": "double",
          "type": "number"
        },
        "nav_to_6_months": {
          "format": "double",
          "type": "number"
        },
        "nav_to_12_months": {
          "format": "double",
          "type": "number"
        },
        "nav_to_36_months": {
          "format": "double",
          "type": "number"
        },
        "nav_to_beginning": {
          "format": "double",
          "type": "number"
        },
        "annualized_return_36_months": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmPurchaseOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "verification_id": {
          "type": "string"
        },
        "verification_token": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmPurchaseOrderResult": {
      "type": "object",
      "properties": {
        "order_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.EstimateSaleOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "product_id": {
          "format": "int32",
          "type": "integer"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "program_id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.EstimateSaleOrderResult": {
      "type": "object",
      "properties": {
        "estimate_value": {
          "format": "double",
          "type": "number"
        },
        "estimate_fee_percent": {
          "format": "double",
          "type": "number"
        },
        "estimate_fee_amount": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreateSaleOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "product_id": {
          "format": "int32",
          "type": "integer"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "program_id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreateSaleOrderResult": {
      "type": "object",
      "properties": {
        "verification_id": {
          "type": "string"
        },
        "verification_token_required": {
          "type": "boolean"
        },
        "verification_token_expire_time": {
          "format": "int64",
          "type": "integer"
        },
        "code": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "type_label": {
          "type": "string"
        },
        "create_date": {
          "format": "int64",
          "type": "integer"
        },
        "create_date_format": {
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "amount_net": {
          "format": "double",
          "type": "number"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "fee_percent": {
          "format": "double",
          "type": "number"
        },
        "fee_amount": {
          "format": "double",
          "type": "number"
        },
        "product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "dst_product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "investor_bank_acc": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankAccountInfo"
        },
        "tax_percent": {
          "format": "double",
          "type": "number"
        },
        "tax_amount": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmSaleOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "verification_id": {
          "type": "string"
        },
        "verification_token": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmSaleOrderResult": {
      "type": "object",
      "properties": {
        "order_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetDestinationProductListRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "src_product_id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.DestinationProduct": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.EstimateConvertOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "src_product_id": {
          "format": "int32",
          "type": "integer"
        },
        "dst_product_id": {
          "format": "int32",
          "type": "integer"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "program_id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.EstimateConvertOrderResult": {
      "type": "object",
      "properties": {
        "estimate_value": {
          "format": "double",
          "type": "number"
        },
        "estimate_fee_percent": {
          "format": "double",
          "type": "number"
        },
        "estimate_fee_amount": {
          "format": "double",
          "type": "number"
        },
        "estimate_tax_percent": {
          "format": "double",
          "type": "number"
        },
        "estimate_tax_amount": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreateConvertOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "src_product_id": {
          "format": "int32",
          "type": "integer"
        },
        "dst_product_id": {
          "format": "int32",
          "type": "integer"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "program_id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CreateConvertOrderResult": {
      "type": "object",
      "properties": {
        "verification_id": {
          "type": "string"
        },
        "verification_token_required": {
          "type": "boolean"
        },
        "verification_token_expire_time": {
          "format": "int64",
          "type": "integer"
        },
        "code": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "type_label": {
          "type": "string"
        },
        "create_date": {
          "format": "int64",
          "type": "integer"
        },
        "create_date_format": {
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "amount_net": {
          "format": "double",
          "type": "number"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "fee_percent": {
          "format": "double",
          "type": "number"
        },
        "fee_amount": {
          "format": "double",
          "type": "number"
        },
        "product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "dst_product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "investor_bank_acc": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankAccountInfo"
        },
        "tax_percent": {
          "format": "double",
          "type": "number"
        },
        "tax_amount": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmConvertOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "verification_id": {
          "type": "string"
        },
        "verification_token": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ConfirmConvertOrderResult": {
      "type": "object",
      "properties": {
        "order_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CancelOrderRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "order_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.CancelOrderResult": {
      "type": "object",
      "properties": {
        "order_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetOrderDetailRequest": {
      "type": "object",
      "properties": {
        "order_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.OrderDetail": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "type_label": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "status_label": {
          "type": "string"
        },
        "allowed_cancel": {
          "type": "boolean"
        },
        "create_date": {
          "format": "int64",
          "type": "integer"
        },
        "create_date_format": {
          "type": "string"
        },
        "approved_date": {
          "format": "int64",
          "type": "integer"
        },
        "approved_date_format": {
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "amount_net": {
          "format": "double",
          "type": "number"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "fee_percent": {
          "format": "double",
          "type": "number"
        },
        "fee_amount": {
          "format": "double",
          "type": "number"
        },
        "product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "dst_product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "investor_bank_acc": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankAccountInfo"
        },
        "receive_money_bank_acc": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankAccountInfo"
        },
        "transfer_content": {
          "type": "string"
        },
        "tax_percent": {
          "format": "double",
          "type": "number"
        },
        "tax_amount": {
          "format": "double",
          "type": "number"
        },
        "qr_payment_url": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterOrdersRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterOrdersResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.OrderDetail"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterTransactionsRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterTransactionsResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.TransactionDetail"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.TransactionDetail": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "type_label": {
          "type": "string"
        },
        "date": {
          "format": "int64",
          "type": "integer"
        },
        "date_format": {
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "tax_percent": {
          "format": "double",
          "type": "number"
        },
        "tax_amount": {
          "format": "double",
          "type": "number"
        },
        "fee_percent": {
          "format": "double",
          "type": "number"
        },
        "fee_amount": {
          "format": "double",
          "type": "number"
        },
        "product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        },
        "dst_product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductInformation"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterAssetFundsRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterAssetFundsResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.AssetFundDetail"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.AssetFundDetail": {
      "type": "object",
      "properties": {
        "purchase_price": {
          "format": "double",
          "type": "number"
        },
        "current_price": {
          "format": "double",
          "type": "number"
        },
        "current_volume": {
          "format": "double",
          "type": "number"
        },
        "current_amount": {
          "format": "double",
          "type": "number"
        },
        "gain_amount": {
          "format": "double",
          "type": "number"
        },
        "gain_percent": {
          "format": "double",
          "type": "number"
        },
        "product_program": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductProgramInformation"
        },
        "product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.SummaryProductInformation"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ProductProgramInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.SummaryProductInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "code": {
          "type": "string"
        },
        "short_name": {
          "type": "string"
        },
        "nav": {
          "format": "double",
          "type": "number"
        },
        "fund_asset_type": {
          "type": "string"
        },
        "issuer_info": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.IssuerInformation"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterAssetsRequest": {
      "type": "object",
      "properties": {
        "fmarket_id": {
          "type": "string"
        },
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterAssetsResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.AssetDetail"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.AssetDetail": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "create_date": {
          "format": "int64",
          "type": "integer"
        },
        "create_date_format": {
          "type": "string"
        },
        "purchase_price": {
          "format": "double",
          "type": "number"
        },
        "current_price": {
          "format": "double",
          "type": "number"
        },
        "current_volume": {
          "format": "double",
          "type": "number"
        },
        "current_amount": {
          "format": "double",
          "type": "number"
        },
        "gain_amount": {
          "format": "double",
          "type": "number"
        },
        "gain_percent": {
          "format": "double",
          "type": "number"
        },
        "allowed_sale": {
          "type": "boolean"
        },
        "allowed_sale_volume": {
          "format": "double",
          "type": "number"
        },
        "allowed_convert": {
          "type": "boolean"
        },
        "allowed_convert_volume": {
          "format": "double",
          "type": "number"
        },
        "extra": {
          "type": "object"
        },
        "product_program": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductProgramInformation"
        },
        "product": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.SummaryProductInformation"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetProductDetailRequest": {
      "type": "object",
      "properties": {
        "product_id": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ProductDetail": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "short_name": {
          "type": "string"
        },
        "code": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "min_purchase_value": {
          "format": "double",
          "type": "number"
        },
        "max_purchase_value": {
          "format": "double",
          "type": "number"
        },
        "expected_profit": {
          "format": "double",
          "type": "number"
        },
        "approval_date_label": {
          "type": "string"
        },
        "sale_payment_term": {
          "format": "int32",
          "type": "integer"
        },
        "order_book_closed_time_label": {
          "type": "string"
        },
        "receive_money_closed_time_label": {
          "type": "string"
        },
        "trading_session": {
          "format": "int64",
          "type": "integer"
        },
        "trading_session_format": {
          "type": "string"
        },
        "product_fee_lst": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductFee"
          }
        },
        "management_fee": {
          "format": "double",
          "type": "number"
        },
        "min_purchase_fee": {
          "format": "double",
          "type": "number"
        },
        "max_purchase_fee": {
          "format": "double",
          "type": "number"
        },
        "min_sale_fee": {
          "format": "double",
          "type": "number"
        },
        "max_sale_fee": {
          "format": "double",
          "type": "number"
        },
        "nav": {
          "format": "double",
          "type": "number"
        },
        "nav_date": {
          "type": "string"
        },
        "nav_to_previous_value": {
          "format": "double",
          "type": "number"
        },
        "nav_to_previous": {
          "format": "double",
          "type": "number"
        },
        "nav_to_last_year": {
          "format": "double",
          "type": "number"
        },
        "min_holding_volume": {
          "format": "double",
          "type": "number"
        },
        "fund_asset_type": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.AssetType"
        },
        "issuer_info": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.IssuerInformation"
        },
        "asset_allocations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.AssetAllocationItem"
          }
        },
        "nav_change": {
          "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.NavChange"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ProductFee": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "begin_operator": {
          "type": "string"
        },
        "begin_volume": {
          "format": "double",
          "type": "number"
        },
        "end_operator": {
          "type": "string"
        },
        "end_volume": {
          "format": "double",
          "type": "number"
        },
        "fee": {
          "format": "double",
          "type": "number"
        },
        "dest_product_id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.AssetType": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.AssetAllocationItem": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterProductsRequest": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "fundAssetTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortField": {
          "type": "string"
        },
        "sortOrder": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.FilterProductsResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductDetail"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetIssuerListRequest": {
      "type": "object",
      "properties": {}
    },
    "FireAnt.Api.Models.Fmarket.GetIssuerListResult": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.IssuerInformation"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetProvincesRequest": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetProvincesResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProvinceInformation"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ProvinceInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "administrative_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetNationalitiesRequest": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetNationalitiesResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.NationalityInformation"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.NationalityInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetPlaceOfIssueIDListRequest": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetPlaceOfIssueIDListResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.PlaceOfIssueIDInformation"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.PlaceOfIssueIDInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "administrative_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetBanksRequest": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetBanksResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.BankInformation"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.BankInformation": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "short_name": {
          "type": "string"
        },
        "stock_name": {
          "type": "string"
        },
        "swift_code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetProductNavHistoryRequest": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "productId": {
          "format": "int32",
          "type": "integer"
        },
        "isAllData": {
          "type": "boolean"
        },
        "fromDate": {
          "type": "string"
        },
        "toDate": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.GetProductNavHistoryResult": {
      "type": "object",
      "properties": {
        "page": {
          "format": "int32",
          "type": "integer"
        },
        "page_size": {
          "format": "int32",
          "type": "integer"
        },
        "total_items": {
          "format": "int32",
          "type": "integer"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Fmarket.ProductNavHistoryItem"
          }
        }
      }
    },
    "FireAnt.Api.Models.Fmarket.ProductNavHistoryItem": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "createdAt": {
          "format": "int64",
          "type": "integer"
        },
        "nav": {
          "format": "double",
          "type": "number"
        },
        "navDate": {
          "type": "string"
        },
        "productId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.SymbolItem": {
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Mã chứng khoán",
          "type": "string"
        },
        "isListing": {
          "description": "Đang niêm yết hay không (true: Đang niêm yết)",
          "type": "boolean"
        },
        "name": {
          "description": "Tên doanh nghiệp",
          "type": "string"
        },
        "exchange": {
          "description": "Sàn niêm yết",
          "type": "string"
        },
        "instrument": {
          "type": "string"
        },
        "type": {
          "description": "Loại chứng khoán (stock: Cổ phiếu, index: Chỉ số, futures: Hợp đồng tương lai, warrant: Chứng quyền, fund: Quỹ, bond: Trái phiếu, commodity: Hàng hóa)",
          "type": "string"
        },
        "industryCode": {
          "description": "Mã ngành ICB",
          "type": "string"
        },
        "icbCode": {
          "description": "Mã ngành ICB mới",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Industries.IndustryStatistic": {
      "type": "object",
      "properties": {
        "industryCode": {
          "description": "Mã ICB của ngành",
          "type": "string"
        },
        "statisticValues": {
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.Finance.FinancialData": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        },
        "quarter": {
          "format": "int32",
          "type": "integer"
        },
        "companyType": {
          "type": "string"
        },
        "icbCode": {
          "type": "string"
        },
        "icbName": {
          "type": "string"
        },
        "financialValues": {
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.Industries.IndustryIndex": {
      "type": "object",
      "properties": {
        "industryCode": {
          "description": "Mã ICB của ngành",
          "type": "string"
        },
        "date": {
          "format": "date-time",
          "description": "Ngày",
          "type": "string"
        },
        "indexValues": {
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.Industries.ICBIndustry": {
      "type": "object",
      "properties": {
        "industryCode": {
          "description": "Mã ICB của ngành",
          "type": "string"
        },
        "level": {
          "format": "int32",
          "description": "Level ICB của ngành",
          "type": "integer"
        },
        "name": {
          "description": "Tên ngành",
          "type": "string"
        },
        "description": {
          "description": "Mô tả",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Industries.IndustryInfo": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "sectorKind": {
          "type": "string"
        },
        "isFinancial": {
          "type": "boolean"
        },
        "icbCode": {
          "type": "string"
        },
        "icbHierarchy": {
          "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustryHierarchy"
        },
        "label": {
          "$ref": "#/definitions/FireAnt.Api.Models.Industries.IndustryLabel"
        },
        "exchange": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Industries.IndustryHierarchy": {
      "type": "object",
      "properties": {
        "lv1": {
          "type": "string"
        },
        "lv2": {
          "type": "string"
        },
        "lv3": {
          "type": "string"
        },
        "lv4": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Industries.IndustryLabel": {
      "type": "object",
      "properties": {
        "vi": {
          "type": "string"
        },
        "en": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Statistics.RRGValue": {
      "type": "object",
      "properties": {
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "rs": {
          "format": "double",
          "type": "number"
        },
        "rm": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Individuals.IndividualItem": {
      "type": "object",
      "properties": {
        "individualID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "gender": {
          "format": "int32",
          "description": " (Male = Nam, Female = Nữ)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "hasPhoto": {
          "type": "boolean"
        },
        "symbol": {
          "type": "string"
        },
        "positionName": {
          "type": "string"
        },
        "institutionName": {
          "type": "string"
        },
        "institutionIsListing": {
          "type": "boolean"
        },
        "institutionSymbol": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Individuals.IndividualProfile": {
      "type": "object",
      "properties": {
        "individualID": {
          "format": "int32",
          "type": "integer"
        },
        "isForeign": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "bio": {
          "type": "string"
        },
        "gender": {
          "format": "int32",
          "description": " (Male = Nam, Female = Nữ)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "hasPhoto": {
          "type": "boolean"
        },
        "photoURL": {
          "type": "string"
        },
        "dateOfBirth": {
          "type": "string"
        },
        "homeTown": {
          "type": "string"
        },
        "education": {
          "format": "int32",
          "description": " (HighSchool = Tốt nghiệp PTTH, Intermediate = Trung cấp, Diploma = Kỹ sư, Bachelor = Cử nhân, Master = Thạc sĩ, Doctor = Tiến sĩ)",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "placeOfBirth": {
          "type": "string"
        },
        "isDead": {
          "type": "boolean"
        },
        "symbol": {
          "type": "string"
        },
        "positionName": {
          "type": "string"
        },
        "institutionName": {
          "type": "string"
        },
        "institutionIsListing": {
          "type": "boolean"
        },
        "institutionSymbol": {
          "type": "string"
        },
        "asset": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Individuals.IndividualJob": {
      "type": "object",
      "properties": {
        "officerID": {
          "format": "int32",
          "type": "integer"
        },
        "individualID": {
          "format": "int32",
          "type": "integer"
        },
        "institutionID": {
          "format": "int32",
          "type": "integer"
        },
        "joinDate": {
          "format": "date-time",
          "type": "string"
        },
        "appointedDate": {
          "format": "date-time",
          "type": "string"
        },
        "officerPositionID": {
          "format": "int32",
          "type": "integer"
        },
        "positionName": {
          "type": "string"
        },
        "institutionName": {
          "type": "string"
        },
        "institutionIsListing": {
          "type": "boolean"
        },
        "institutionSymbol": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Individuals.IndividualAsset": {
      "type": "object",
      "properties": {
        "majorHolderID": {
          "format": "int32",
          "type": "integer"
        },
        "individualID": {
          "format": "int32",
          "type": "integer"
        },
        "isFounder": {
          "type": "boolean"
        },
        "institutionID": {
          "format": "int32",
          "type": "integer"
        },
        "ownership": {
          "format": "double",
          "type": "number"
        },
        "shares": {
          "format": "double",
          "type": "number"
        },
        "value": {
          "format": "double",
          "type": "number"
        },
        "institutionName": {
          "type": "string"
        },
        "institutionIsListing": {
          "type": "boolean"
        },
        "institutionSymbol": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Individuals.IndividualRelation": {
      "type": "object",
      "properties": {
        "individualID": {
          "format": "int32",
          "type": "integer"
        },
        "relationTypeID": {
          "format": "int32",
          "type": "integer"
        },
        "relationName": {
          "type": "string"
        },
        "relatedIndividual": {
          "$ref": "#/definitions/FireAnt.Api.Models.Individuals.IndividualItem"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.MajorHolderTransaction": {
      "type": "object",
      "properties": {
        "transactionID": {
          "format": "int32",
          "description": "ID của giao dịch",
          "type": "integer"
        },
        "majorHolderID": {
          "format": "int32",
          "description": "ID của cổ đông lớn",
          "type": "integer"
        },
        "individualHolderID": {
          "format": "int32",
          "description": "ID của cổ đông lớn (cá nhân)",
          "type": "integer"
        },
        "institutionHolderID": {
          "format": "int32",
          "description": "ID của cổ đông lớn (tổ chức)",
          "type": "integer"
        },
        "institutionHolderSymbol": {
          "description": "Mã chứng khoán của tổ chức (nếu là cổ đông tổ chức)",
          "type": "string"
        },
        "institutionHolderExchange": {
          "description": "Sàn niêm yết của tổ chức (nếu là cổ đông tổ chức)",
          "type": "string"
        },
        "name": {
          "description": "Tên của cổ đông lớn",
          "type": "string"
        },
        "position": {
          "description": "Vị trí của cổ đông lớn",
          "type": "string"
        },
        "symbol": {
          "description": "Mã chứng khoán của tổ chức",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "description": "Loại giao dịch (Purchased = Mua, Sold = Bán, StockRightPurchased = Mua quyền mua, StockRightSold = Bán quyền mua)",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "executionVolume": {
          "format": "double",
          "description": "Khối lượng giao dịch",
          "type": "number"
        },
        "executionDate": {
          "format": "date-time",
          "description": "Ngày thực thi",
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "description": "Ngày bắt đầu",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "Ngày kết thúc",
          "type": "string"
        },
        "registeredVolume": {
          "format": "double",
          "description": "Khối lượng đăng ký giao dịch",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Individuals.RichestIndividualItem": {
      "type": "object",
      "properties": {
        "individualID": {
          "format": "int32",
          "type": "integer"
        },
        "isForeign": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "gender": {
          "format": "int32",
          "description": " (Male = Nam, Female = Nữ)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "hasPhoto": {
          "type": "boolean"
        },
        "dateOfBirth": {
          "type": "string"
        },
        "homeTown": {
          "type": "string"
        },
        "education": {
          "format": "int32",
          "description": " (HighSchool = Tốt nghiệp PTTH, Intermediate = Trung cấp, Diploma = Kỹ sư, Bachelor = Cử nhân, Master = Thạc sĩ, Doctor = Tiến sĩ)",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "placeOfBirth": {
          "type": "string"
        },
        "isDead": {
          "type": "boolean"
        },
        "symbol": {
          "type": "string"
        },
        "positionName": {
          "type": "string"
        },
        "institutionName": {
          "type": "string"
        },
        "institutionIsListing": {
          "type": "boolean"
        },
        "institutionSymbol": {
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "lastAsset": {
          "format": "double",
          "type": "number"
        },
        "asset1D": {
          "format": "double",
          "type": "number"
        },
        "asset1W": {
          "format": "double",
          "type": "number"
        },
        "asset1M": {
          "format": "double",
          "type": "number"
        },
        "asset3M": {
          "format": "double",
          "type": "number"
        },
        "asset6M": {
          "format": "double",
          "type": "number"
        },
        "asset1Y": {
          "format": "double",
          "type": "number"
        },
        "lastRank": {
          "format": "int32",
          "type": "integer"
        },
        "rank1D": {
          "format": "int32",
          "type": "integer"
        },
        "rank1W": {
          "format": "int32",
          "type": "integer"
        },
        "rank1M": {
          "format": "int32",
          "type": "integer"
        },
        "rank3M": {
          "format": "int32",
          "type": "integer"
        },
        "rank6M": {
          "format": "int32",
          "type": "integer"
        },
        "rank1Y": {
          "format": "int32",
          "type": "integer"
        },
        "assetSourceICBCode": {
          "type": "string"
        },
        "assetSourceICBName": {
          "type": "string"
        },
        "assetSourceICBProportion": {
          "format": "double",
          "type": "number"
        },
        "assetSourceInstitutionID": {
          "format": "int32",
          "type": "integer"
        },
        "assetSourceInstitutionName": {
          "type": "string"
        },
        "assetSourceInstitutionProportion": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Industries.IndustrySnapshot": {
      "type": "object",
      "properties": {
        "industryCode": {
          "description": "Mã ICB của ngành",
          "type": "string"
        },
        "date": {
          "format": "date-time",
          "description": "Ngày giao dịch",
          "type": "string"
        },
        "indexHigh": {
          "format": "double",
          "description": "Index ngành cao nhất",
          "type": "number"
        },
        "indexLow": {
          "format": "double",
          "description": "Index ngành thấp nhất",
          "type": "number"
        },
        "indexOpen": {
          "format": "double",
          "description": "Index mở cửa",
          "type": "number"
        },
        "indexClose": {
          "format": "double",
          "description": "Index đóng cửa",
          "type": "number"
        },
        "indexBasic": {
          "format": "double",
          "description": "Index tham chiếu",
          "type": "number"
        },
        "totalVolume": {
          "format": "double",
          "description": "Tổng khối lượng giao dịch",
          "type": "number"
        },
        "totalValue": {
          "format": "double",
          "description": "Tổng giá trị giao dịch",
          "type": "number"
        },
        "buyCount": {
          "format": "double",
          "description": "Số lệnh đặt mua",
          "type": "number"
        },
        "sellCount": {
          "format": "double",
          "description": "Số lệnh đặt bán",
          "type": "number"
        },
        "buyQuantity": {
          "format": "double",
          "description": "KL đặt mua",
          "type": "number"
        },
        "sellQuantity": {
          "format": "double",
          "description": "KL đặt bán",
          "type": "number"
        },
        "advancesValue": {
          "format": "double",
          "description": "Giá trị giao dịch của các mã tăng giá trong ngành",
          "type": "number"
        },
        "declinesValue": {
          "format": "double",
          "description": "Giá trị giao dịch của các mã giảm giá trong ngành",
          "type": "number"
        },
        "unchangeValue": {
          "format": "double",
          "description": "Giá trị giao dịch của các mã đứng giá trong ngành",
          "type": "number"
        },
        "buyForeignQuantity": {
          "format": "double",
          "description": "Khối lượng nhà đầu tư nước ngoài mua",
          "type": "number"
        },
        "buyForeignValue": {
          "format": "double",
          "description": "Giá trị nhà đầu tư nước ngoài mua",
          "type": "number"
        },
        "sellForeignQuantity": {
          "format": "double",
          "description": "Khối lượng nhà đầu tư nước ngoài bán",
          "type": "number"
        },
        "sellForeignValue": {
          "format": "double",
          "description": "Giá trị nhà đầu tư nước ngoài bán",
          "type": "number"
        },
        "totalActiveBuyVolume": {
          "format": "double",
          "description": "KL mua chủ động",
          "type": "number"
        },
        "totalActiveSellVolume": {
          "format": "double",
          "description": "KL bán chủ động",
          "type": "number"
        },
        "pe": {
          "format": "double",
          "description": "P/E ngành",
          "type": "number"
        },
        "ps": {
          "format": "double",
          "description": "P/S ngành",
          "type": "number"
        },
        "pb": {
          "format": "double",
          "description": "P/B ngành",
          "type": "number"
        },
        "marketCap": {
          "format": "double",
          "description": "Vốn hóa ngành",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Trading.Instrument": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "minQty": {
          "format": "double",
          "type": "number"
        },
        "maxQty": {
          "format": "double",
          "type": "number"
        },
        "qtyStep": {
          "format": "double",
          "type": "number"
        },
        "pipSize": {
          "format": "double",
          "type": "number"
        },
        "pipValue": {
          "format": "double",
          "type": "number"
        },
        "minTick": {
          "format": "double",
          "type": "number"
        },
        "lotSize": {
          "format": "double",
          "type": "number"
        },
        "marginRate": {
          "format": "double",
          "type": "number"
        },
        "baseCurrency": {
          "type": "string"
        },
        "quoteCurrency": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Investopedia.InvestopediaTerm": {
      "type": "object",
      "properties": {
        "termId": {
          "format": "int32",
          "type": "integer"
        },
        "categoryId": {
          "format": "int32",
          "type": "integer"
        },
        "category": {
          "$ref": "#/definitions/FireAnt.Api.Models.Investopedia.InvestopediaCategory"
        },
        "termKey": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "englishName": {
          "type": "string"
        },
        "excerpt": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "modified": {
          "format": "date-time",
          "type": "string"
        },
        "views": {
          "format": "int32",
          "type": "integer"
        },
        "videoUrl": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Investopedia.InvestopediaCategory": {
      "type": "object",
      "properties": {
        "categoryID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.InvestorRelations.IRContract": {
      "description": "Represents a contract for investor relations.",
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Gets or sets the symbol associated with the contract.",
          "type": "string"
        },
        "status": {
          "description": "Gets or sets the status of the contract.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "Gets or sets the end date of the contract.",
          "type": "string"
        },
        "daysRemaining": {
          "format": "int32",
          "description": "Gets or sets the number of days remaining until the contract ends.",
          "type": "integer"
        },
        "contractCode": {
          "description": "Gets or sets the unique code for the contract.",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.InvestorRelations.IRContractDetailInfo": {
      "description": "Represents detailed information about an investor relations contract.",
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Gets or sets the symbol associated with the contract.",
          "type": "string"
        },
        "information": {
          "description": "Gets or sets additional information about the contract.",
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.InvestorRelations.IRContractLastStatistics": {
      "description": "Represents the last statistics of an investor relations contract.",
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Gets or sets the symbol associated with the contract.",
          "type": "string"
        },
        "lastUpdated": {
          "format": "date-time",
          "description": "Gets or sets the date and time when the statistics were last updated.",
          "type": "string"
        },
        "statistics": {
          "description": "Gets or sets the statistical data related to the contract.",
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.InvestorRelations.IRContractHistoricalStatistics": {
      "description": "Represents historical statistics of an investor relations contract.",
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Gets or sets the symbol associated with the contract.",
          "type": "string"
        },
        "lastUpdated": {
          "format": "date-time",
          "description": "Gets or sets the date and time when the statistics were last updated.",
          "type": "string"
        },
        "statistics": {
          "description": "Gets or sets the statistical data related to the contract.",
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.InvestorRelations.IRPostStatistics": {
      "description": "Represents statistics for a post related to investor relations.",
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Gets or sets the symbol associated with the post.",
          "type": "string"
        },
        "date": {
          "format": "date-time",
          "description": "Gets or sets the date of the post.",
          "type": "string"
        },
        "title": {
          "description": "Gets or sets the title of the post.",
          "type": "string"
        },
        "type": {
          "description": "Gets or sets the type of the post.",
          "type": "string"
        },
        "totalNotifications": {
          "format": "int32",
          "description": "Gets or sets the total number of notifications for the post.",
          "type": "integer"
        },
        "totalLikes": {
          "format": "int32",
          "description": "Gets or sets the total number of likes for the post.",
          "type": "integer"
        },
        "totalReplies": {
          "format": "int32",
          "description": "Gets or sets the total number of replies to the post.",
          "type": "integer"
        },
        "fireAntLink": {
          "description": "Gets or sets the FireAnt link related to the post.",
          "type": "string"
        },
        "stockbizLink": {
          "description": "Gets or sets the Stockbiz link related to the post.",
          "type": "string"
        },
        "notes": {
          "description": "Gets or sets additional notes about the post.",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Macro.MacroIndicatorType": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Macro.MacroIndicatorInfo": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "nameVN": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "lastValue": {
          "format": "double",
          "type": "number"
        },
        "lastDate": {
          "format": "date-time",
          "type": "string"
        },
        "previousValue": {
          "format": "double",
          "type": "number"
        },
        "previousDate": {
          "format": "date-time",
          "type": "string"
        },
        "firstDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxValue": {
          "format": "double",
          "type": "number"
        },
        "maxDate": {
          "format": "date-time",
          "type": "string"
        },
        "minValue": {
          "format": "double",
          "type": "number"
        },
        "minDate": {
          "format": "date-time",
          "type": "string"
        },
        "averageValue": {
          "format": "double",
          "type": "number"
        },
        "unit": {
          "type": "string"
        },
        "frequency": {
          "type": "string"
        },
        "range": {
          "type": "string"
        },
        "nextRelease": {
          "format": "date-time",
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "historicalValue": {
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.Users.PushTokenUpdateRequest": {
      "type": "object",
      "properties": {
        "anonymousUserID": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.RecentSymbolsUpdateRequest": {
      "type": "object",
      "properties": {
        "anonymousUserID": {
          "type": "string"
        },
        "symbols": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.WebPushMessage": {
      "type": "object",
      "properties": {
        "topic": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "data": {
          "type": "string"
        },
        "icon": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.WebPushTopicSubscription": {
      "type": "object",
      "properties": {
        "topic": {
          "type": "string"
        },
        "tokens": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "userNames": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "FireAnt.Api.Models.Users.EmailMessage": {
      "type": "object",
      "properties": {
        "sender": {
          "type": "string"
        },
        "receiver": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "template": {
          "type": "string"
        },
        "parameters": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserPhoneNumber": {
      "type": "object",
      "properties": {
        "phoneNumber": {
          "type": "string"
        },
        "confirmed": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.AddPhoneNumberRequest": {
      "type": "object",
      "properties": {
        "phoneNumber": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.AddPhoneNumberResult": {
      "type": "object",
      "properties": {
        "verificationRequired": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.PhoneNumberVerificationRequest": {
      "type": "object",
      "properties": {
        "phoneNumber": {
          "type": "string"
        },
        "code": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.PhoneNumberVerificationResult": {
      "type": "object",
      "properties": {
        "verified": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserProfileUpdateRequest": {
      "type": "object",
      "properties": {
        "userName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "bio": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "facebookLink": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserSettings": {
      "type": "object",
      "properties": {
        "userName": {
          "type": "string"
        },
        "mobileQuoteAlerts": {
          "type": "boolean"
        },
        "mobileNewsAlerts": {
          "type": "boolean"
        },
        "mobileRealtime": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.PurchasedItem": {
      "type": "object",
      "properties": {
        "serviceID": {
          "format": "int32",
          "type": "integer"
        },
        "packageID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "orderID": {
          "format": "int32",
          "type": "integer"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "orderDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserAccount": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "membership": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserMembership"
        },
        "investorRelation": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserInvestorRelation"
        },
        "profile": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserProfile"
        },
        "moneyAccount": {
          "$ref": "#/definitions/FireAnt.Api.Models.Money.Account"
        },
        "identityData": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserIdentityData"
        },
        "identityVerified": {
          "type": "boolean"
        },
        "hasPinCode": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserMembership": {
      "type": "object",
      "properties": {
        "level": {
          "format": "int32",
          "type": "integer"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Users.SubscribedApplication"
          }
        }
      }
    },
    "FireAnt.Api.Models.Users.UserInvestorRelation": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Money.Account": {
      "type": "object",
      "properties": {
        "accountID": {
          "format": "int32",
          "type": "integer"
        },
        "totalBalance": {
          "format": "double",
          "type": "number"
        },
        "blockedBalance": {
          "format": "double",
          "type": "number"
        },
        "availableBalance": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "userName": {
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "mxvInvestorCode": {
          "type": "string"
        },
        "fMarketID": {
          "type": "string"
        },
        "fMarketStatus": {
          "type": "string"
        },
        "fMarketAccountDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserIdentityData": {
      "type": "object",
      "properties": {
        "phoneNumber": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "identityName": {
          "type": "string"
        },
        "identityNumber": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "dateOfBirth": {
          "format": "date-time",
          "type": "string"
        },
        "sex": {
          "type": "string"
        },
        "hometown": {
          "type": "string"
        },
        "nationality": {
          "type": "string"
        },
        "features": {
          "type": "string"
        },
        "issueDate": {
          "format": "date-time",
          "type": "string"
        },
        "issueLocation": {
          "type": "string"
        },
        "expiredDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.SubscribedApplication": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "description": " (0 = Web, 1 = Mobile, 2 = MetaKit, 3 = Excel, 4 = Copilot, 5 = MagicSignal, 6 = MagicChart, 7 = MobileCopilot)",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "version": {
          "format": "int32",
          "type": "integer"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.ChangePasswordRequest": {
      "type": "object",
      "properties": {
        "oldPassword": {
          "type": "string"
        },
        "newPassword": {
          "type": "string"
        },
        "confirmPassword": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.SetPasswordRequest": {
      "type": "object",
      "properties": {
        "newPassword": {
          "type": "string"
        },
        "confirmPassword": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UpdateAvatarRequest": {
      "type": "object",
      "properties": {
        "avatar": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserExtraInfoUpdateRequest": {
      "type": "object",
      "properties": {
        "sex": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.HashTag": {
      "type": "object",
      "properties": {
        "hashTagID": {
          "format": "int32",
          "type": "integer"
        },
        "symbol": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Notification.UserNotification": {
      "type": "object",
      "properties": {
        "notificationID": {
          "format": "int64",
          "type": "integer"
        },
        "link": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "formattedTitle": {
          "type": "string"
        },
        "data": {
          "type": "string"
        },
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "viewed": {
          "type": "boolean"
        },
        "read": {
          "type": "boolean"
        },
        "actorUser_1": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
        },
        "actorUser_2": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
        }
      }
    },
    "FireAnt.Api.Models.Watchlists.Watchlist": {
      "type": "object",
      "properties": {
        "watchlistID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "symbols": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "displayIndex": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Watchlists.WatchlistOrders": {
      "type": "object",
      "properties": {
        "orders": {
          "type": "object",
          "additionalProperties": {
            "format": "int32",
            "type": "integer"
          }
        }
      }
    },
    "FireAnt.Api.Models.Chart.ChartTemplate": {
      "type": "object",
      "properties": {
        "chartTemplateID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "interval": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "template": {
          "type": "string"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "sharing": {
          "type": "boolean"
        },
        "isSystem": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Alerts.AlertNotification": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "definitionId": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Alerts.AlertRegistration": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "definitionId": {
          "type": "string"
        },
        "options": {
          "type": "object"
        },
        "parameters": {
          "type": "object"
        },
        "preventPopup": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Alerts.MobileAlertRegistration": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "priceAbove": {
          "format": "double",
          "type": "number"
        },
        "priceBelow": {
          "format": "double",
          "type": "number"
        },
        "volumeAbove": {
          "format": "double",
          "type": "number"
        },
        "new52WeekHigh": {
          "type": "boolean"
        },
        "new52WeekLow": {
          "type": "boolean"
        },
        "aboveMA5": {
          "type": "boolean"
        },
        "aboveMA10": {
          "type": "boolean"
        },
        "aboveMA20": {
          "type": "boolean"
        },
        "belowMA5": {
          "type": "boolean"
        },
        "belowMA10": {
          "type": "boolean"
        },
        "belowMA20": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Screeners.Screener": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "conditions": {
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.Workspaces.Workspace": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "type": "object"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomInvitationAction": {
      "description": "Hành động với lời mời",
      "type": "object",
      "properties": {
        "accepted": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.Room": {
      "type": "object",
      "properties": {
        "roomID": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "privacy": {
          "format": "int32",
          "type": "integer"
        },
        "visibility": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "approved": {
          "type": "boolean"
        },
        "createdDate": {
          "format": "date-time",
          "type": "string"
        },
        "promotionLevel": {
          "format": "int32",
          "type": "integer"
        },
        "invitationID": {
          "format": "int32",
          "type": "integer"
        },
        "requestID": {
          "format": "int32",
          "type": "integer"
        },
        "role": {
          "format": "int32",
          "type": "integer"
        },
        "blocked": {
          "type": "boolean"
        },
        "verified": {
          "type": "boolean"
        },
        "lastActivityDate": {
          "format": "date-time",
          "type": "string"
        },
        "topics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Topic"
          }
        },
        "symbols": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Rooms.RoomSymbol"
          }
        }
      }
    },
    "FireAnt.Api.Models.Rooms.Topic": {
      "type": "object",
      "properties": {
        "topicID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomSymbol": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "weight": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserIdentityVerificationRequest": {
      "type": "object",
      "properties": {
        "photo": {
          "type": "string"
        },
        "documentType": {
          "type": "string"
        },
        "frontImage": {
          "type": "string"
        },
        "backImage": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserIdentityVerificationResult": {
      "type": "object",
      "properties": {
        "succeeded": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        },
        "data": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserIdentityData"
        }
      }
    },
    "FireAnt.Api.Models.Trading.SuggestAccountNumber": {
      "type": "object",
      "properties": {
        "accountNumber": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.CheckSuggestAccountNumberRequest": {
      "type": "object",
      "properties": {
        "accountNumber": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.EContractInformation": {
      "type": "object",
      "properties": {
        "contractId": {
          "type": "string"
        },
        "envId": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "cookieName": {
          "type": "string"
        },
        "cookieValue": {
          "type": "string"
        },
        "expireTime": {
          "format": "int32",
          "type": "integer"
        },
        "userName": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "iframeUrl": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.VerifyOtpDataRequest": {
      "type": "object",
      "properties": {
        "otpNumber": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.OpenAccountResult": {
      "description": "Kết quả mở tài khoản tại CTCK",
      "type": "object",
      "properties": {
        "brokerUserName": {
          "type": "string"
        },
        "brokerRequestID": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "eContractUrl": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.BrokerUserStatus": {
      "description": "Yêu cầu mở tài khoản tại CTCK",
      "type": "object",
      "properties": {
        "brokerUserName": {
          "type": "string"
        },
        "brokerRequestID": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Money.Transaction": {
      "type": "object",
      "properties": {
        "transactionID": {
          "format": "int32",
          "type": "integer"
        },
        "transactionTypeID": {
          "format": "int32",
          "type": "integer"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "status": {
          "type": "string"
        },
        "accountID": {
          "format": "int32",
          "type": "integer"
        },
        "destinationBankID": {
          "format": "int32",
          "type": "integer"
        },
        "destinationBankAccountNo": {
          "type": "string"
        },
        "destinationBankAccountName": {
          "type": "string"
        },
        "destinationBankBranch": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "createdDate": {
          "format": "date-time",
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Money.CreateTransactionRequest": {
      "type": "object",
      "properties": {
        "transactionTypeID": {
          "format": "int32",
          "type": "integer"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "destinationBankID": {
          "format": "int32",
          "type": "integer"
        },
        "destinationBankAccountNo": {
          "type": "string"
        },
        "destinationBankAccountName": {
          "type": "string"
        },
        "destinationBankBranch": {
          "type": "string"
        },
        "otp": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Money.Bank": {
      "type": "object",
      "properties": {
        "bankID": {
          "format": "int32",
          "type": "integer"
        },
        "code": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "shortName": {
          "type": "string"
        },
        "swiftCode": {
          "type": "string"
        },
        "bin": {
          "type": "string"
        },
        "logo": {
          "type": "string"
        },
        "transferSupported": {
          "type": "boolean"
        },
        "lookupSupported": {
          "type": "boolean"
        },
        "fMarketBankID": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Money.BankAccount": {
      "type": "object",
      "properties": {
        "bankAccountID": {
          "format": "int32",
          "type": "integer"
        },
        "bankID": {
          "format": "int32",
          "type": "integer"
        },
        "userName": {
          "type": "string"
        },
        "bankBranch": {
          "type": "string"
        },
        "accountNo": {
          "type": "string"
        },
        "accountName": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Money.AddBankAccountRequest": {
      "type": "object",
      "properties": {
        "bankID": {
          "format": "int32",
          "type": "integer"
        },
        "accountNo": {
          "type": "string"
        },
        "accountName": {
          "type": "string"
        },
        "bankBranch": {
          "type": "string"
        },
        "otp": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Money.LookupBankAccountNameRequest": {
      "type": "object",
      "properties": {
        "bankID": {
          "format": "int32",
          "type": "integer"
        },
        "accountNo": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.InvestorAccount": {
      "type": "object",
      "properties": {
        "investorCode": {
          "type": "string"
        },
        "investorName": {
          "type": "string"
        },
        "brokerCode": {
          "type": "string"
        },
        "brokerName": {
          "type": "string"
        },
        "collaboratorCode": {
          "type": "string"
        },
        "collaboratorName": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "sodBalance": {
          "format": "double",
          "type": "number"
        },
        "sodBalanceUSD": {
          "format": "double",
          "type": "number"
        },
        "changedAmount": {
          "format": "double",
          "type": "number"
        },
        "changedAmountUSD": {
          "format": "double",
          "type": "number"
        },
        "actualProfitVND": {
          "format": "double",
          "type": "number"
        },
        "actualProfitUSD": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMargin": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMarginUSD": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfitVND": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfitUSD": {
          "format": "double",
          "type": "number"
        },
        "netMargin": {
          "format": "double",
          "type": "number"
        },
        "netMarginUSD": {
          "format": "double",
          "type": "number"
        },
        "eodBalance": {
          "format": "double",
          "type": "number"
        },
        "eodBalanceUSD": {
          "format": "double",
          "type": "number"
        },
        "marginRatio": {
          "format": "double",
          "type": "number"
        },
        "depositProcessMethod": {
          "type": "string"
        },
        "transactionFee": {
          "format": "double",
          "type": "number"
        },
        "pendingTransactionFee": {
          "format": "double",
          "type": "number"
        },
        "interest": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMarginProvisional": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMarginProvisionalUSD": {
          "format": "double",
          "type": "number"
        },
        "availableMargin": {
          "format": "double",
          "type": "number"
        },
        "availableMarginProvisional": {
          "format": "double",
          "type": "number"
        },
        "currentBalance": {
          "format": "double",
          "type": "number"
        },
        "additionalMargin": {
          "format": "double",
          "type": "number"
        },
        "maxInitialRequiredMarginProvisional": {
          "format": "double",
          "type": "number"
        },
        "defaultPositionLimit": {
          "format": "int32",
          "type": "integer"
        },
        "totalProfitVND": {
          "format": "double",
          "type": "number"
        },
        "change": {
          "format": "double",
          "type": "number"
        },
        "changePercentage": {
          "format": "double",
          "type": "number"
        },
        "generalFee": {
          "format": "double",
          "type": "number"
        },
        "marginRatioColor": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.Order": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string"
        },
        "orderID": {
          "type": "string"
        },
        "partnerCode": {
          "type": "string"
        },
        "partnerName": {
          "type": "string"
        },
        "duration": {
          "type": "string"
        },
        "orderForm": {
          "type": "string"
        },
        "filledQty": {
          "format": "double",
          "type": "number"
        },
        "transactionFee": {
          "format": "double",
          "type": "number"
        },
        "memberFee": {
          "format": "double",
          "type": "number"
        },
        "brokerFee": {
          "format": "double",
          "type": "number"
        },
        "status": {
          "type": "string"
        },
        "inputMethod": {
          "type": "string"
        },
        "orderCode": {
          "type": "string"
        },
        "cqgOrderCode": {
          "type": "string"
        },
        "cqgStatus": {
          "format": "int32",
          "type": "integer"
        },
        "activeOrderCode": {
          "type": "string"
        },
        "activeCqgOrderCode": {
          "type": "string"
        },
        "investorCode": {
          "type": "string"
        },
        "investorName": {
          "type": "string"
        },
        "contractCode": {
          "type": "string"
        },
        "contractName": {
          "type": "string"
        },
        "commodityCode": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "decimalFormat": {
          "format": "int32",
          "type": "integer"
        },
        "tickSize": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMargin": {
          "format": "double",
          "type": "number"
        },
        "exchange": {
          "type": "string"
        },
        "orderType": {
          "type": "string"
        },
        "side": {
          "type": "string"
        },
        "qty": {
          "format": "double",
          "type": "number"
        },
        "remainingQty": {
          "format": "double",
          "type": "number"
        },
        "limitPrice": {
          "format": "double",
          "type": "number"
        },
        "orderProperty": {
          "type": "string"
        },
        "initiator": {
          "type": "string"
        },
        "orderDatetime": {
          "format": "date-time",
          "type": "string"
        },
        "sessionDate": {
          "format": "date-time",
          "type": "string"
        },
        "accountId": {
          "type": "string"
        },
        "lastModifiedBy": {
          "type": "string"
        },
        "lastModifiedDatetime": {
          "format": "date-time",
          "type": "string"
        },
        "createdAt": {
          "format": "date-time",
          "type": "string"
        },
        "updatedAt": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.AccountPosition": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string"
        },
        "positionID": {
          "type": "string"
        },
        "investorCode": {
          "type": "string"
        },
        "investorName": {
          "type": "string"
        },
        "contractCode": {
          "type": "string"
        },
        "contractName": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "decimalFormat": {
          "format": "int32",
          "type": "integer"
        },
        "open": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.AccountPositionOpen"
        },
        "fills": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.MXV.AccountPositionFill"
          }
        },
        "buyPosition": {
          "format": "double",
          "type": "number"
        },
        "sellPosition": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfit": {
          "format": "double",
          "type": "number"
        },
        "averagePrice": {
          "format": "double",
          "type": "number"
        },
        "marketPrice": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfitVND": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.AccountPositionOpen": {
      "type": "object",
      "properties": {
        "buyPosition": {
          "format": "double",
          "type": "number"
        },
        "sellPosition": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfit": {
          "format": "double",
          "type": "number"
        },
        "averagePrice": {
          "format": "double",
          "type": "number"
        },
        "marketPrice": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfitVND": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.AccountPositionFill": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string"
        },
        "positionFillID": {
          "type": "string"
        },
        "settled": {
          "type": "boolean"
        },
        "orderCode": {
          "type": "string"
        },
        "txnCode": {
          "type": "string"
        },
        "cqgOrderCode": {
          "type": "string"
        },
        "cqgTxnCode": {
          "type": "string"
        },
        "orderDatetime": {
          "format": "date-time",
          "type": "string"
        },
        "txnDatetime": {
          "format": "date-time",
          "type": "string"
        },
        "averagePrice": {
          "format": "double",
          "type": "number"
        },
        "transactionFee": {
          "format": "double",
          "type": "number"
        },
        "sellPosition": {
          "format": "double",
          "type": "number"
        },
        "buyPosition": {
          "format": "double",
          "type": "number"
        },
        "sessionDate": {
          "format": "date-time",
          "type": "string"
        },
        "estimatedProfit": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfitVND": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.AccountRequest": {
      "type": "object",
      "properties": {
        "requestID": {
          "format": "int32",
          "type": "integer"
        },
        "accountID": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "phoneNumber": {
          "type": "string"
        },
        "dateOfBirth": {
          "format": "date-time",
          "type": "string"
        },
        "sex": {
          "type": "string"
        },
        "identityNumber": {
          "type": "string"
        },
        "issueDate": {
          "format": "date-time",
          "type": "string"
        },
        "expiredDate": {
          "format": "date-time",
          "type": "string"
        },
        "issueLocation": {
          "type": "string"
        },
        "identityAddress": {
          "type": "string"
        },
        "bankAccountNo": {
          "type": "string"
        },
        "bankID": {
          "format": "int32",
          "type": "integer"
        },
        "images": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "status": {
          "type": "string"
        },
        "investorCode": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.AccountRequestExtraInfo": {
      "type": "object",
      "properties": {
        "signatureImage": {
          "type": "string"
        },
        "bankAccountID": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Users.ChangePinCodeRequest": {
      "type": "object",
      "properties": {
        "newPinCode": {
          "type": "string"
        },
        "otp": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Users.UserVerificationInfo": {
      "type": "object",
      "properties": {
        "verificationID": {
          "type": "string"
        },
        "verificationToken": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVBrokerInfo": {
      "type": "object",
      "properties": {
        "brokerCode": {
          "description": "Mã môi giới",
          "type": "string"
        },
        "brokerName": {
          "description": "Tên môi giới",
          "type": "string"
        },
        "profileImage": {
          "description": "Ảnh hồ sơ",
          "type": "string"
        },
        "bio": {
          "description": "Giới thiệu về môi giới",
          "type": "string"
        },
        "userId": {
          "description": "Id trên FireAnt",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVCollaboratorInfo": {
      "type": "object",
      "properties": {
        "collaboratorCode": {
          "type": "string"
        },
        "collaboratorName": {
          "type": "string"
        },
        "brokerCode": {
          "type": "string"
        },
        "profileImage": {
          "type": "string"
        },
        "bio": {
          "type": "string"
        },
        "userId": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.CreateMXVAccountRequest": {
      "type": "object",
      "properties": {
        "accountNumber": {
          "description": "Số tài khoản CQG cơ sở (11 ký tự):\r\n- Để trống: Hệ thống tự động tạo khi mở tài khoản CQG\r\n- Cung cấp: Số tài khoản CQG có sẵn (VD: 648C1234567)",
          "type": "string"
        },
        "collaboratorCode": {
          "description": "Mã cộng tác viên (optional)",
          "type": "string"
        },
        "brokerCode": {
          "description": "Mã môi giới (optional)",
          "type": "string"
        },
        "accountType": {
          "description": "Loại hình tài khoản Future (BẮT BUỘC): \r\nC (NĐT cá nhân trong nước), E (NĐT tổ chức trong nước), \r\nF (NĐT cá nhân nước ngoài), I (NĐT tổ chức nước ngoài)",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVCreateAccountResponse": {
      "description": "Response model for create investor account API",
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        },
        "investorCode": {
          "type": "string"
        },
        "signingLink": {
          "type": "string"
        },
        "createdDate": {
          "format": "date-time",
          "type": "string"
        },
        "approvalId": {
          "description": "Approval ID from MXV system (used as RequestID)",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVInvestorDetail": {
      "description": "Detailed investor account information",
      "type": "object",
      "properties": {
        "account": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVAccountStatus"
        },
        "contact": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVInvestorContact"
        },
        "createdDate": {
          "format": "int64",
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "subInvestors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "type": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVAccountStatus": {
      "description": "Account information within investor detail",
      "type": "object",
      "properties": {
        "availableBalance": {
          "format": "double",
          "type": "number"
        },
        "currency": {
          "type": "string"
        },
        "investorCode": {
          "type": "string"
        },
        "investorName": {
          "type": "string"
        },
        "marginDeficitInterestRate": {
          "format": "double",
          "type": "number"
        },
        "marginSurplusInterestRate": {
          "format": "double",
          "type": "number"
        },
        "totalProfitVND": {
          "format": "double",
          "type": "number"
        },
        "availableMarginProvisional": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVInvestorContact": {
      "description": "Contact information within investor detail",
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "fullName": {
          "type": "string"
        },
        "phoneNumber": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVInvestorAccountStatus": {
      "description": "Model for MXV Investor Accounts tracking in database\r\nSupports multiple account types: Future, Nano, MXV",
      "type": "object",
      "properties": {
        "userName": {
          "description": "User name (Primary Key)",
          "type": "string"
        },
        "futureInvestorCode": {
          "type": "string"
        },
        "futureStatus": {
          "type": "string"
        },
        "nanoInvestorCode": {
          "type": "string"
        },
        "nanoStatus": {
          "type": "string"
        },
        "mxvInvestorCode": {
          "type": "string"
        },
        "mxvStatus": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVMarginStatus": {
      "type": "object",
      "properties": {
        "investorCode": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "depositProcessMethod": {
          "type": "string"
        },
        "sodBalance": {
          "format": "double",
          "type": "number"
        },
        "sodBalanceUSD": {
          "format": "double",
          "type": "number"
        },
        "eodBalance": {
          "format": "double",
          "type": "number"
        },
        "eodBalanceUSD": {
          "format": "double",
          "type": "number"
        },
        "currentBalance": {
          "format": "double",
          "type": "number"
        },
        "changedAmount": {
          "format": "double",
          "type": "number"
        },
        "changedAmountUSD": {
          "format": "double",
          "type": "number"
        },
        "change": {
          "format": "double",
          "type": "number"
        },
        "changePercentage": {
          "format": "double",
          "type": "number"
        },
        "availableMargin": {
          "format": "double",
          "type": "number"
        },
        "availableMarginProvisional": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMargin": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMarginUSD": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMarginProvisional": {
          "format": "double",
          "type": "number"
        },
        "initialRequiredMarginProvisionalUSD": {
          "format": "double",
          "type": "number"
        },
        "maxInitialRequiredMarginProvisional": {
          "format": "double",
          "type": "number"
        },
        "additionalMargin": {
          "format": "double",
          "type": "number"
        },
        "netMargin": {
          "format": "double",
          "type": "number"
        },
        "netMarginUSD": {
          "format": "double",
          "type": "number"
        },
        "marginRatio": {
          "format": "double",
          "type": "number"
        },
        "marginRatioColor": {
          "type": "string"
        },
        "actualProfitVND": {
          "format": "double",
          "type": "number"
        },
        "actualProfitUSD": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfitVND": {
          "format": "double",
          "type": "number"
        },
        "estimatedProfitUSD": {
          "format": "double",
          "type": "number"
        },
        "totalProfitVND": {
          "format": "double",
          "type": "number"
        },
        "optionsActualProfitVND": {
          "format": "double",
          "type": "number"
        },
        "optionsActualProfitUSD": {
          "format": "double",
          "type": "number"
        },
        "optionsEstimatedProfitVND": {
          "format": "double",
          "type": "number"
        },
        "optionsEstimatedProfitUSD": {
          "format": "double",
          "type": "number"
        },
        "mvoVND": {
          "format": "double",
          "type": "number"
        },
        "mvoUSD": {
          "format": "double",
          "type": "number"
        },
        "transactionFee": {
          "format": "double",
          "type": "number"
        },
        "pendingTransactionFee": {
          "format": "double",
          "type": "number"
        },
        "generalFee": {
          "format": "double",
          "type": "number"
        },
        "interest": {
          "format": "double",
          "type": "number"
        },
        "premiumFeeVND": {
          "format": "double",
          "type": "number"
        },
        "premiumFeeUSD": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVMarginTransaction": {
      "type": "object",
      "properties": {
        "transactionId": {
          "type": "string"
        },
        "investorCode": {
          "type": "string"
        },
        "transactionType": {
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "approvingType": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "pendingData": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVMarginTransactionPendingData"
        },
        "nestedObjInfo": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVMarginTransactionNestedObj"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVMarginTransactionPendingData": {
      "type": "object",
      "properties": {
        "queryValue": {
          "type": "string"
        },
        "action": {
          "type": "string"
        },
        "queryingValue": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVMarginTransactionNestedObj": {
      "type": "object",
      "properties": {
        "memberCode": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVDepositRequest": {
      "required": [
        "amount"
      ],
      "type": "object",
      "properties": {
        "amount": {
          "format": "double",
          "description": "Số tiền nạp (VNĐ)",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVWithdrawRequest": {
      "required": [
        "amount",
        "bankAccountID"
      ],
      "type": "object",
      "properties": {
        "amount": {
          "format": "double",
          "description": "Số tiền rút (VNĐ)",
          "type": "number"
        },
        "bankAccountID": {
          "format": "int32",
          "description": "ID tài khoản ngân hàng nhận tiền",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVTransferMoneyRequest": {
      "required": [
        "fromAccountType",
        "toAccountType",
        "amount"
      ],
      "type": "object",
      "properties": {
        "fromAccountType": {
          "format": "int32",
          "description": "Loại tài khoản nguồn: FUTURE, NANO, MXV (0 = FUTURE, 1 = NANO, 2 = MXV)",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "toAccountType": {
          "format": "int32",
          "description": "Loại tài khoản đích: FUTURE, NANO, MXV (0 = FUTURE, 1 = NANO, 2 = MXV)",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "amount": {
          "format": "double",
          "description": "Số tiền chuyển (VNĐ)",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVMoneyRequestItem": {
      "type": "object",
      "properties": {
        "investorCode": {
          "type": "string"
        },
        "time": {
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "toInvestorCode": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVCommodityInfo": {
      "type": "object",
      "properties": {
        "commodityCode": {
          "type": "string"
        },
        "commodityName": {
          "type": "string"
        },
        "exchangeCode": {
          "type": "string"
        },
        "tradingUnit": {
          "type": "string"
        },
        "quotationUnit": {
          "type": "string"
        },
        "tickSize": {
          "format": "double",
          "type": "number"
        },
        "tickValue": {
          "format": "double",
          "type": "number"
        },
        "currency": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVContractInfo": {
      "type": "object",
      "properties": {
        "contractCode": {
          "type": "string"
        },
        "contractName": {
          "type": "string"
        },
        "commodityCode": {
          "type": "string"
        },
        "subType": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "firstTradingDate": {
          "type": "string"
        },
        "lastTradingDate": {
          "type": "string"
        },
        "expirationDate": {
          "type": "string"
        },
        "multiplier": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVOpenPosition": {
      "description": "Open Position (Vị thế mở) - API 4.5.10",
      "type": "object",
      "properties": {
        "investorCode": {
          "description": "Mã TKGD (Tài khoản giao dịch)",
          "type": "string"
        },
        "investorName": {
          "description": "Tên TKGD",
          "type": "string"
        },
        "contractCode": {
          "description": "Mã HĐ (Hợp đồng)",
          "type": "string"
        },
        "contractName": {
          "description": "Tên HĐ",
          "type": "string"
        },
        "open": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVOpenPositionDetail",
          "description": "Chi tiết vị thế mở"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVOpenPositionDetail": {
      "description": "Nested Open Position Details - Chi tiết vị thế mở",
      "type": "object",
      "properties": {
        "buyPosition": {
          "format": "double",
          "description": "Tổng KL Mua",
          "type": "number"
        },
        "sellPosition": {
          "format": "double",
          "description": "Tổng KL Bán",
          "type": "number"
        },
        "marketPrice": {
          "format": "double",
          "description": "Giá TT (Giá thị trường)",
          "type": "number"
        },
        "averagePrice": {
          "format": "double",
          "description": "Giá TB (Giá trung bình)",
          "type": "number"
        },
        "estimatedProfit": {
          "format": "double",
          "description": "Lãi lỗ dự kiến",
          "type": "number"
        },
        "estimatedProfitVND": {
          "format": "double",
          "description": "Lãi lỗ dự kiến (VND)",
          "type": "number"
        },
        "mvo": {
          "format": "double",
          "description": "MVO",
          "type": "number"
        },
        "mvoVND": {
          "format": "double",
          "description": "MVO (VND)",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVSettlePosition": {
      "description": "Vị thế tất toán (API 4.5.11)",
      "type": "object",
      "properties": {
        "investorCode": {
          "description": "Mã TKGD",
          "type": "string"
        },
        "investorName": {
          "description": "Tên TKGD",
          "type": "string"
        },
        "contractCode": {
          "description": "Mã HĐ (Hợp đồng)",
          "type": "string"
        },
        "contractName": {
          "description": "Tên HĐ",
          "type": "string"
        },
        "settlements": {
          "description": "Danh sách các giao dịch tất toán",
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVSettlement"
          }
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVSettlement": {
      "description": "Chi tiết giao dịch tất toán",
      "type": "object",
      "properties": {
        "buyCqgOrderCode": {
          "description": "Mã GD mua (Mã giao dịch mua từ CQG)",
          "type": "string"
        },
        "sellCqgOrderCode": {
          "description": "Mã GD bán (Mã giao dịch bán từ CQG)",
          "type": "string"
        },
        "buyQty": {
          "format": "double",
          "description": "KL Mua (Khối lượng mua)",
          "type": "number"
        },
        "sellQty": {
          "format": "double",
          "description": "KL Bán (Khối lượng bán)",
          "type": "number"
        },
        "buyPrice": {
          "format": "double",
          "description": "Giá mua",
          "type": "number"
        },
        "sellPrice": {
          "format": "double",
          "description": "Giá bán",
          "type": "number"
        },
        "actualProfit": {
          "format": "double",
          "description": "Lãi lỗ thực tế",
          "type": "number"
        },
        "actualProfitVND": {
          "format": "double",
          "description": "Lãi lỗ thực tế (VND)",
          "type": "number"
        },
        "orderDatetime": {
          "format": "date-time",
          "description": "Thời gian đặt lệnh",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVTradeInfo": {
      "description": "Thông tin giao dịch",
      "type": "object",
      "properties": {
        "contractCode": {
          "description": "Mã hợp đồng",
          "type": "string"
        },
        "contractName": {
          "description": "Tên hợp đồng",
          "type": "string"
        },
        "side": {
          "description": "Chiều lệnh: BUY hoặc SELL",
          "type": "string"
        },
        "orderType": {
          "description": "Loại lệnh: MKT, LMT, STP, STPLMT",
          "type": "string"
        },
        "qty": {
          "format": "int32",
          "description": "Khối lượng đặt lệnh",
          "type": "integer"
        },
        "limitPrice": {
          "format": "double",
          "description": "Giá giới hạn",
          "type": "number"
        },
        "stopPrice": {
          "format": "double",
          "description": "Giá dừng",
          "type": "number"
        },
        "filledPrice": {
          "format": "double",
          "description": "Giá khớp",
          "type": "number"
        },
        "filledQty": {
          "format": "double",
          "description": "KL khớp",
          "type": "number"
        },
        "orderDatetime": {
          "format": "date-time",
          "description": "Thời gian đặt lệnh",
          "type": "string"
        },
        "transactions": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVTradeTransaction"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVTradeTransaction": {
      "description": "Thông tin giao dịch",
      "type": "object",
      "properties": {
        "status": {
          "description": "Trạng thái giao dịch: ACK_PLACE, FILL, ...",
          "type": "string"
        },
        "filledPrice": {
          "format": "double",
          "description": "Giá khớp",
          "type": "number"
        },
        "qty": {
          "format": "int32",
          "description": "Khối lượng khớp",
          "type": "integer"
        },
        "transactionFee": {
          "format": "double",
          "description": "Phí giao dịch",
          "type": "number"
        },
        "sessionDate": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVOrderInfo": {
      "type": "object",
      "properties": {
        "clientOrderCode": {
          "description": "ClientOrderId",
          "type": "string"
        },
        "orderCode": {
          "description": "OrderID",
          "type": "string"
        },
        "contractCode": {
          "description": "Mã HĐ",
          "type": "string"
        },
        "contractName": {
          "description": "Tên HĐ",
          "type": "string"
        },
        "side": {
          "description": "Mua/Bán",
          "type": "string"
        },
        "orderType": {
          "description": "Loại lệnh",
          "type": "string"
        },
        "qty": {
          "format": "double",
          "description": "KL đặt",
          "type": "number"
        },
        "limitPrice": {
          "format": "double",
          "description": "Giá giới hạn",
          "type": "number"
        },
        "stopPrice": {
          "format": "double",
          "description": "Giá dừng",
          "type": "number"
        },
        "filledPrice": {
          "format": "double",
          "description": "Giá khớp TB",
          "type": "number"
        },
        "filledQty": {
          "format": "double",
          "description": "KL khớp",
          "type": "number"
        },
        "orderDatetime": {
          "format": "date-time",
          "description": "Thời gian đặt lệnh",
          "type": "string"
        },
        "status": {
          "description": "Trạng thái",
          "type": "string"
        },
        "transactionFee": {
          "format": "double",
          "description": "Phí giao dịch",
          "type": "number"
        },
        "investorCode": {
          "description": "Mã nhà đầu tư",
          "type": "string"
        },
        "sessionDate": {
          "description": "Ngày phiên giao dịch",
          "type": "string"
        },
        "dataSource": {
          "description": "Nguồn dữ liệu (FIX, ...)",
          "type": "string"
        },
        "transactions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVTradeTransaction"
          }
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVNewOrderRequest": {
      "description": "Request model for placing new order",
      "required": [
        "symbol",
        "side",
        "quantity"
      ],
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Mã hợp đồng (VD: CP2COH25)",
          "type": "string"
        },
        "side": {
          "description": "Phía giao dịch: 1 = Mua, 2 = Bán",
          "pattern": "^[12]$",
          "type": "string"
        },
        "quantity": {
          "format": "int32",
          "description": "Số lượng lệnh (phải > 0)",
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        "orderType": {
          "description": "Loại lệnh: 1 = Thị trường, 2 = Giới hạn, 3 = Dừng, 4 = Dừng-Giới hạn. Mặc định: 2",
          "pattern": "^[1234]$",
          "type": "string"
        },
        "timeInForce": {
          "description": "Thời gian hiệu lực của lệnh đặt: 0 = Trong ngày, 1 = GTC (Cho đến khi hủy), 6 = GTD (Cho đến ngày). Mặc định: 0",
          "pattern": "^[016]$",
          "type": "string"
        },
        "price": {
          "format": "double",
          "description": "Giá (bắt buộc cho lệnh GIỚI HẠN và DỪNG-GIỚI HẠN)",
          "type": "number"
        },
        "stopPrice": {
          "format": "double",
          "description": "Giá dừng (bắt buộc cho lệnh DỪNG và DỪNG-GIỚI HẠN)",
          "type": "number"
        },
        "expireDate": {
          "description": "Ngày hết hạn theo định dạng YYYYMMDD (bắt buộc cho lệnh GTD)",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVOrderResponse": {
      "description": "Response model for order operations (place, cancel, replace)",
      "type": "object",
      "properties": {
        "success": {
          "description": "Indicates if the operation was successful",
          "type": "boolean"
        },
        "cl_ord_id": {
          "description": "ClOrdID (Client Order ID: ID tạo bởi TVKD)",
          "type": "string"
        },
        "order_id": {
          "description": "OrderID (ID tạo bởi sàn)",
          "type": "string"
        },
        "message": {
          "description": "Success message",
          "type": "string"
        },
        "error": {
          "description": "Error message (if any)",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVReplaceOrderRequest": {
      "description": "Request model for replacing/modifying order",
      "required": [
        "symbol"
      ],
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Mã hợp đồng",
          "type": "string"
        },
        "newQuantity": {
          "format": "int32",
          "description": "KL mới",
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        "orderId": {
          "description": "OrderID",
          "type": "string"
        },
        "newPrice": {
          "format": "double",
          "description": "Giá mới",
          "type": "number"
        },
        "newStopPrice": {
          "format": "double",
          "description": "Giá dừng mới",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVProductTraceabilityRequest": {
      "description": "Request từ app FireAnt gửi lên backend khi quét QR trên thỏi Bạc.\r\nApp gửi nguyên nội dung quét được (thường là URL dạng\r\nhttps://sp.phuquygroup.vn/Home/VM?id=CBETDRX12); backend tự tách mã sản phẩm.",
      "type": "object",
      "properties": {
        "qrContent": {
          "description": "Nội dung đầy đủ đọc được từ QR code (URL hoặc trực tiếp serial/id).",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVTraceabilityProduct]": {
      "description": "Wrapper response của MXV REST API cho các nghiệp vụ giao nhận hàng vật chất.\r\nKhác với MXVResponse&lt;T&gt; (dùng status/message/data),\r\ncác API section 3.3/3.4 trả về success/code/msg/confirmationCode/payload.",
      "type": "object",
      "properties": {
        "time": {
          "description": "Thời điểm server xử lý",
          "type": "string"
        },
        "success": {
          "description": "true = thành công, false = lỗi",
          "type": "boolean"
        },
        "code": {
          "description": "Mã kết quả: \"0\" = thành công",
          "type": "string"
        },
        "msg": {
          "description": "Thông báo kết quả (VD: \"[0]: Thành công!\")",
          "type": "string"
        },
        "confirmationCode": {
          "description": "Mã xác nhận đăng ký do MXV cấp (top-level field).\r\nEnd user cần lưu lại để dùng cho API huỷ và truy vấn.",
          "type": "string"
        },
        "payload": {
          "description": "Dữ liệu chi tiết (array, mỗi phần tử chứa confirmationcode)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVTraceabilityProduct"
          }
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVTraceabilityProduct": {
      "description": "Thông tin sản phẩm trả về từ API truy xuất nguồn gốc của MXV\r\n(payload của POST /api/v1/traceability/product).",
      "type": "object",
      "properties": {
        "qrCode": {
          "description": "Mã QR do nhà sản xuất cấp (VD: 0000541H3N1)",
          "type": "string"
        },
        "serial": {
          "description": "Serial sản phẩm (VD: CBETDRX12)",
          "type": "string"
        },
        "productName": {
          "description": "Tên sản phẩm (VD: Bạc Thanh Long Phú Quý 999 1KG -M)",
          "type": "string"
        },
        "productCode": {
          "description": "Mã sản phẩm (VD: BTL1KGM)",
          "type": "string"
        },
        "material": {
          "description": "Chất liệu (VD: Bạc 999)",
          "type": "string"
        },
        "purity": {
          "format": "int32",
          "description": "Hàm lượng (VD: 999)",
          "type": "integer"
        },
        "weightChi": {
          "description": "Khối lượng quy đổi (chỉ)",
          "type": "string"
        },
        "weightGram": {
          "description": "Khối lượng (VD: 1 kg)",
          "type": "string"
        },
        "origin": {
          "description": "Xuất xứ (VD: Việt Nam)",
          "type": "string"
        },
        "manufacturedAt": {
          "format": "date-time",
          "description": "Ngày xuất xưởng",
          "type": "string"
        },
        "inspectedAt": {
          "format": "date-time",
          "description": "Ngày kiểm định",
          "type": "string"
        },
        "inspectionUnit": {
          "description": "Đơn vị kiểm định (VD: VGVLab)",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.PhysicalDeliveryRegisterRequest": {
      "description": "Request đăng ký giao hàng vật chất (bên bán) - API 3.3.1\r\nGiai đoạn FND -&gt; LND",
      "type": "object",
      "properties": {
        "contract": {
          "description": "Mã hợp đồng kỳ hạn (VD: SIV0326)",
          "type": "string"
        },
        "quantity": {
          "format": "int32",
          "description": "Số lượng lot đăng ký giao (phải &gt; 0)",
          "type": "integer"
        },
        "email": {
          "description": "Email liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "phone": {
          "description": "Số điện thoại liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "authorization": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVAuthorizationInfo",
          "description": "Thông tin người uỷ quyền nhận lại Bạc (trong trường hợp bên bán đến nhận lại Bạc).\r\nChỉ cung cấp khi KH đã có mã CIF tại kho MSB chỉ định."
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVAuthorizationInfo": {
      "description": "Thông tin người được uỷ quyền giao/nhận Bạc tại kho MSB.\r\nKH chỉ uỷ quyền được khi đã có mã CIF tại kho chỉ định.",
      "type": "object",
      "properties": {
        "fullName": {
          "description": "Họ và tên đầy đủ",
          "type": "string"
        },
        "dateOfBirth": {
          "description": "Ngày sinh (YYYYMMDD)",
          "type": "string"
        },
        "idNumber": {
          "description": "Số CCCD/CMND/Hộ chiếu",
          "type": "string"
        },
        "idIssueDate": {
          "description": "Ngày cấp CCCD",
          "type": "string"
        },
        "idIssuePlace": {
          "description": "Nơi cấp CCCD",
          "type": "string"
        },
        "address": {
          "description": "Địa chỉ",
          "type": "string"
        },
        "idImageFront": {
          "description": "Ảnh CCCD mặt trước (base64 string)",
          "type": "string"
        },
        "idImageBack": {
          "description": "Ảnh CCCD mặt sau (base64 string)",
          "type": "string"
        },
        "email": {
          "description": "Email",
          "type": "string"
        },
        "phone": {
          "description": "Số điện thoại",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVPhysicalDeliveryResponse[FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload]": {
      "description": "Wrapper response của MXV REST API cho các nghiệp vụ giao nhận hàng vật chất.\r\nKhác với MXVResponse&lt;T&gt; (dùng status/message/data),\r\ncác API section 3.3/3.4 trả về success/code/msg/confirmationCode/payload.",
      "type": "object",
      "properties": {
        "time": {
          "description": "Thời điểm server xử lý",
          "type": "string"
        },
        "success": {
          "description": "true = thành công, false = lỗi",
          "type": "boolean"
        },
        "code": {
          "description": "Mã kết quả: \"0\" = thành công",
          "type": "string"
        },
        "msg": {
          "description": "Thông báo kết quả (VD: \"[0]: Thành công!\")",
          "type": "string"
        },
        "confirmationCode": {
          "description": "Mã xác nhận đăng ký do MXV cấp (top-level field).\r\nEnd user cần lưu lại để dùng cho API huỷ và truy vấn.",
          "type": "string"
        },
        "payload": {
          "description": "Dữ liệu chi tiết (array, mỗi phần tử chứa confirmationcode)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload"
          }
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVPhysicalDeliveryPayload": {
      "description": "Payload item trả về từ các API đăng ký/huỷ giao nhận vật chất.\r\nLưu ý: MXV trả về tên field là \"confirmationcode\" (chữ thường).",
      "type": "object",
      "properties": {
        "confirmationcode": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.PhysicalCancelRequest": {
      "description": "Request huỷ đăng ký giao hoặc nhận hàng vật chất\r\nChỉ thực hiện được trong giai đoạn FND -&gt; LND",
      "type": "object",
      "properties": {
        "refConfirmationCode": {
          "description": "Mã xác nhận đăng ký do MXV trả về (confirmationCode) khi đăng ký thành công.\r\nEnd user cần lưu lại giá trị này sau mỗi lần đăng ký.",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.PhysicalReceiveRegisterRequest": {
      "description": "Request đăng ký nhận hàng vật chất (bên mua) - API 3.3.3\r\nGiai đoạn FND -&gt; LND",
      "type": "object",
      "properties": {
        "area": {
          "description": "Khu vực nhận hàng: \"HN\" (Hà Nội) hoặc \"HCM\" (TP HCM)",
          "type": "string"
        },
        "contract": {
          "description": "Mã hợp đồng kỳ hạn (VD: SIV0326)",
          "type": "string"
        },
        "quantity": {
          "format": "int32",
          "description": "Số lượng lot đăng ký nhận (phải &gt; 0)",
          "type": "integer"
        },
        "email": {
          "description": "Email liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "phone": {
          "description": "Số điện thoại liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "authorization": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVAuthorizationInfo",
          "description": "Thông tin người uỷ quyền đến kho nhận Bạc (nếu có)"
        }
      }
    },
    "FireAnt.Api.Models.MXV.PhysicalDeliveryDepositRequest": {
      "description": "Request đăng ký lưu ký Bạc vào kho MSB (bên bán) - API 3.3.5\r\nĐộc lập với đăng ký giao nhận. Mỗi lần tạo ra 1 mã giao hàng riêng.\r\nGiai đoạn FND -&gt; LND",
      "type": "object",
      "properties": {
        "warehouse": {
          "description": "Mã kho nhận Bạc: \"KQ.HNI.01\" (MSB chi nhánh Đống Đa) hoặc \"KQ.HCM.01\" (MSB chi nhánh TP.Hồ Chí Minh)",
          "type": "string"
        },
        "contract": {
          "description": "Mã hợp đồng kỳ hạn (VD: SIV0326)",
          "type": "string"
        },
        "quantity": {
          "format": "int32",
          "description": "Số lượng lot đăng ký giao vào kho (phải &gt; 0)",
          "type": "integer"
        },
        "deliveryDate": {
          "description": "Ngày đăng ký giao Bạc vào kho (YYYYMMDD, trong khoảng FND -&gt; LND)",
          "type": "string"
        },
        "email": {
          "description": "Email liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "phone": {
          "description": "Số điện thoại liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "authorization": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVAuthorizationInfo",
          "description": "Thông tin người uỷ quyền giao Bạc tại kho MSB (nếu có)"
        }
      }
    },
    "FireAnt.Api.Models.MXV.PhysicalDeliveryDesignatedRequest": {
      "description": "Request xác nhận giao hàng chỉ định\r\nThời hạn: T+1 -&gt; T+5 sau ngày giao dịch cuối cùng",
      "type": "object",
      "properties": {
        "deliveryCode": {
          "description": "Mã lưu ký hàng chỉ định do MXV gửi qua WebSocket event (deliveryStatus).",
          "type": "string"
        },
        "warehouse": {
          "description": "Mã kho giao hàng: \"KQ.HNI.01\" hoặc \"KQ.HCM.01\"",
          "type": "string"
        },
        "rejectedBySender": {
          "description": "Lựa chọn của bên bán: \"0\" = Đồng ý tự thực hiện giao nhận, \"1\" = Uỷ quyền TTBT thực hiện thay (chịu phạt theo quy định MXV)",
          "type": "string"
        },
        "deliveryDate": {
          "description": "Ngày đăng ký giao Bạc (YYYYMMDD)",
          "type": "string"
        },
        "email": {
          "description": "Email liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "phone": {
          "description": "Số điện thoại liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "authorization": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVAuthorizationInfo",
          "description": "Thông tin người uỷ quyền giao Bạc tại kho MSB (nếu có)"
        }
      }
    },
    "FireAnt.Api.Models.MXV.PhysicalReceiveDesignatedRequest": {
      "description": "Request xác nhận nhận hàng chỉ định (bên mua bị TTBT chỉ định)\r\nXác nhận thành công khi ký quỹ khả dụng &gt;= ký quỹ giao nhận hàng hoá.\r\nThời hạn: T+1 -&gt; T+5 sau ngày giao dịch cuối cùng",
      "type": "object",
      "properties": {
        "pairingCode": {
          "description": "Mã nhận hàng chỉ định do MXV gửi qua WebSocket event (warehouseReceiptStatus).",
          "type": "string"
        },
        "rejectedByReceiver": {
          "description": "Lựa chọn của bên mua: \"0\" = Đồng ý tự thực hiện giao nhận, \"1\" = Uỷ quyền TTBT thực hiện thay (chịu phạt theo quy định MXV)",
          "type": "string"
        },
        "email": {
          "description": "Email liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "phone": {
          "description": "Số điện thoại liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)",
          "type": "string"
        },
        "authorization": {
          "$ref": "#/definitions/FireAnt.Api.Models.MXV.MXVAuthorizationInfo",
          "description": "Thông tin người uỷ quyền đến kho nhận Bạc (nếu có)"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVPhysicalDeliveryRecord": {
      "description": "Bản ghi lịch sử đăng ký giao/nhận vật chất lưu trong bảng _MXVPhysicalDeliveries.\r\nTrả về từ SP mxv_GetPhysicalDeliveries và mxv_GetPhysicalDeliveryByCode.",
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "userName": {
          "type": "string"
        },
        "investorCode": {
          "type": "string"
        },
        "type": {
          "description": "DELIVERY | RECEIVE | DEPOSIT",
          "type": "string"
        },
        "action": {
          "description": "REGISTER | DESIGNATED",
          "type": "string"
        },
        "contract": {
          "type": "string"
        },
        "quantity": {
          "format": "int32",
          "type": "integer"
        },
        "area": {
          "description": "HN | HCM (chỉ có khi Type = RECEIVE)",
          "type": "string"
        },
        "warehouse": {
          "description": "HN | HCM (chỉ có khi Type = DEPOSIT)",
          "type": "string"
        },
        "deliveryDate": {
          "description": "Ngày dự kiến giao Bạc (YYYYMMDD)",
          "type": "string"
        },
        "refRequestCode": {
          "description": "Mã TVKD tự sinh từ backend FireAnt",
          "type": "string"
        },
        "refConfirmationCode": {
          "description": "Mã MXV cấp khi duyệt thành công - dùng để huỷ/truy vấn",
          "type": "string"
        },
        "deliveryCode": {
          "description": "Mã giao hàng (có sau khi TTBT ghép cặp, bên bán dùng cho API designated)",
          "type": "string"
        },
        "pairingCode": {
          "description": "Mã nhận hàng (có sau khi TTBT ghép cặp, bên mua dùng cho API designated)",
          "type": "string"
        },
        "status": {
          "description": "P=Chờ duyệt | A=Đã duyệt | R=Từ chối | D=Đã giao | RV=Đã nhận",
          "type": "string"
        },
        "rejectReason": {
          "type": "string"
        },
        "transactionDate": {
          "type": "string"
        },
        "createdAt": {
          "format": "date-time",
          "type": "string"
        },
        "updatedAt": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVPhysicalRegistrationStatus": {
      "description": "Trạng thái đăng ký giao/nhận hàng vật chất - payload của API 3.4.4\r\nGET /api/v1/am/investors/physical-register",
      "type": "object",
      "properties": {
        "refTransactionDate": {
          "description": "Ngày phát sinh yêu cầu giao nhận từ thành viên",
          "type": "string"
        },
        "refRequestCode": {
          "description": "Mã yêu cầu giao nhận của TVKD",
          "type": "string"
        },
        "refConfirmationCode": {
          "description": "Mã xác nhận yêu cầu giao nhận của MXV",
          "type": "string"
        },
        "side": {
          "description": "Hướng: \"1\" = Nhận, \"2\" = Giao",
          "type": "string"
        },
        "quanlity": {
          "description": "Số lượng đăng ký (lot)",
          "type": "string"
        },
        "contract": {
          "description": "Mã hợp đồng",
          "type": "string"
        },
        "approveDate": {
          "description": "Ngày duyệt yêu cầu đăng ký tại MXV",
          "type": "string"
        },
        "approveTxnum": {
          "description": "Mã giao dịch duyệt/từ chối tại MXV",
          "type": "string"
        },
        "requestStatus": {
          "description": "PENDING | APPROVED | DISAPPROVED | PENDING_CANCELLED |\r\nCANCELLED | EXPIRED",
          "type": "string"
        },
        "rejectReason": {
          "description": "Lý do từ chối (null nếu trạng thái là Chờ Duyệt hoặc Hoàn Tất)",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVDepositRegistrationStatus": {
      "description": "Trạng thái đăng ký lưu ký vật chất - payload của API 3.4.5\r\nGET /api/v1/am/investors/deposit-register",
      "type": "object",
      "properties": {
        "refTransactionDate": {
          "type": "string"
        },
        "refRequestCode": {
          "type": "string"
        },
        "refConfirmationCode": {
          "type": "string"
        },
        "side": {
          "description": "Hướng giao hàng: \"2\" = Giao",
          "type": "string"
        },
        "contract": {
          "type": "string"
        },
        "deliveryCode": {
          "type": "string"
        },
        "quantity": {
          "type": "string"
        },
        "approveDate": {
          "type": "string"
        },
        "approveTxnum": {
          "type": "string"
        },
        "requestStatus": {
          "description": "PENDING | DISAPPROVED | PENDING_SEND | REGISTERED | DELIVERED |\r\nREJECTED | PENDING_CANCELLED | CANCELLED | EXPIRED | DESIGNATED |\r\nDESIGNATED_REJECTED | VIOLATED",
          "type": "string"
        },
        "rejectReason": {
          "type": "string"
        },
        "deliveredByCCP": {
          "description": "\"1\" = CCP thực hiện, \"0\" = cá nhân thực hiện",
          "type": "string"
        },
        "price": {
          "description": "Mức giá bù trừ khi CCP thực hiện",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.MXV.MXVPhysicalTransactionStatus": {
      "description": "Trạng thái nhận hàng vật chất tại kho - payload của API 3.4.6\r\nGET /api/v1/am/investors/physical-transaction",
      "type": "object",
      "properties": {
        "refTransactionDate": {
          "description": "Ngày phát sinh yêu cầu giao nhận từ thành viên",
          "type": "string"
        },
        "refRequestCode": {
          "description": "Mã yêu cầu giao nhận của TVKD",
          "type": "string"
        },
        "refConfirmationCode": {
          "description": "Mã xác nhận yêu cầu giao nhận của MXV",
          "type": "string"
        },
        "side": {
          "description": "Hướng: \"1\" = Nhận, \"2\" = Giao",
          "type": "string"
        },
        "quantity": {
          "type": "string"
        },
        "contract": {
          "description": "Mã hợp đồng",
          "type": "string"
        },
        "deliveryCode": {
          "description": "Mã lưu ký hàng (deliveryCode)",
          "type": "string"
        },
        "pairingCode": {
          "description": "Mã nhận hàng (pairingCode)",
          "type": "string"
        },
        "warehouse": {
          "type": "string"
        },
        "fromDate": {
          "type": "string"
        },
        "toDate": {
          "type": "string"
        },
        "approveDate": {
          "description": "Ngày duyệt tại MXV",
          "type": "string"
        },
        "approveTxnum": {
          "description": "Mã giao dịch tại MXV",
          "type": "string"
        },
        "requestStatus": {
          "description": "PENDING_SEND | REGISTERED | RECEIVED | CANCELLED |\r\nPENDING_CANCELLED | REJECTED | DESIGNATED |\r\nDESIGNATED_REJECTED | VIOLATED",
          "type": "string"
        },
        "rejectReason": {
          "description": "Lý do từ chối (null nếu trạng thái là Chờ Duyệt hoặc Hoàn Tất)",
          "type": "string"
        },
        "receivedByCCP": {
          "description": "\"1\" = CCP thực hiện, \"0\" = cá nhân thực hiện",
          "type": "string"
        },
        "price": {
          "description": "Mức giá bù trừ khi CCP thực hiện",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.Order": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "instrument": {
          "type": "string"
        },
        "instrumentItem": {
          "$ref": "#/definitions/FireAnt.Api.Models.Trading.InstrumentItem"
        },
        "qty": {
          "format": "double",
          "type": "number"
        },
        "qtyType": {
          "format": "int32",
          "type": "integer"
        },
        "side": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "filledQty": {
          "format": "double",
          "type": "number"
        },
        "avgPrice": {
          "format": "double",
          "type": "number"
        },
        "limitPrice": {
          "format": "double",
          "type": "number"
        },
        "stopPrice": {
          "format": "double",
          "type": "number"
        },
        "lastModified": {
          "format": "double",
          "type": "number"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.CreateOrderRequest": {
      "type": "object",
      "properties": {
        "instrument": {
          "type": "string"
        },
        "qty": {
          "format": "double",
          "type": "number"
        },
        "qtyType": {
          "format": "int32",
          "type": "integer"
        },
        "side": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "limitPrice": {
          "format": "double",
          "type": "number"
        },
        "stopPrice": {
          "format": "double",
          "type": "number"
        },
        "stopLoss": {
          "format": "double",
          "type": "number"
        },
        "takeProfit": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Trading.EditOrderRequest": {
      "type": "object",
      "properties": {
        "qty": {
          "format": "double",
          "type": "number"
        },
        "qtyType": {
          "format": "int32",
          "type": "integer"
        },
        "limitPrice": {
          "format": "double",
          "type": "number"
        },
        "stopPrice": {
          "format": "double",
          "type": "number"
        },
        "stopLoss": {
          "format": "double",
          "type": "number"
        },
        "takeProfit": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Users.RegisterSmartOTPRequest": {
      "type": "object",
      "properties": {
        "smsOtp": {
          "type": "string"
        },
        "deviceId": {
          "type": "string"
        },
        "deviceName": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Trading.Position": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "instrument": {
          "type": "string"
        },
        "instrumentItem": {
          "$ref": "#/definitions/FireAnt.Api.Models.Trading.InstrumentItem"
        },
        "qty": {
          "format": "double",
          "type": "number"
        },
        "side": {
          "type": "string"
        },
        "avgPrice": {
          "format": "double",
          "type": "number"
        },
        "unrealizedPl": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Posts.LinkPreview": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.PostSymbolsRequest": {
      "description": "Yêu cầu đăng/sửa bài",
      "type": "object",
      "properties": {
        "title": {
          "description": "Tiêu đề",
          "type": "string"
        },
        "description": {
          "description": "Mô tả",
          "type": "string"
        },
        "content": {
          "description": "Nội dung",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Posts.PopularSymbol": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "points": {
          "format": "int64",
          "type": "integer"
        },
        "color": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Reports.ReportInfo": {
      "type": "object",
      "properties": {
        "reportID": {
          "format": "int32",
          "type": "integer"
        },
        "categoryID": {
          "format": "int32",
          "type": "integer"
        },
        "sourceID": {
          "format": "int32",
          "type": "integer"
        },
        "sourceName": {
          "type": "string"
        },
        "sectorID": {
          "format": "int32",
          "type": "integer"
        },
        "symbol": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "pages": {
          "format": "int32",
          "type": "integer"
        },
        "size": {
          "format": "int32",
          "type": "integer"
        },
        "fileName": {
          "type": "string"
        },
        "fileExtension": {
          "type": "string"
        },
        "language": {
          "type": "string"
        },
        "downloads": {
          "format": "int32",
          "type": "integer"
        },
        "isHot": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Reports.SearchReportResult": {
      "type": "object",
      "properties": {
        "total": {
          "format": "int32",
          "type": "integer"
        },
        "reports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Reports.ReportInfo"
          }
        }
      }
    },
    "FireAnt.Api.Models.Reports.CategoryInfo": {
      "type": "object",
      "properties": {
        "categoryID": {
          "format": "int32",
          "type": "integer"
        },
        "title": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Reports.SourceInfo": {
      "type": "object",
      "properties": {
        "sourceID": {
          "format": "int32",
          "type": "integer"
        },
        "shortName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomDetail": {
      "type": "object",
      "properties": {
        "info": {
          "$ref": "#/definitions/FireAnt.Api.Models.Rooms.Room"
        },
        "totalMembers": {
          "format": "int32",
          "type": "integer"
        },
        "totalPosts": {
          "format": "int32",
          "type": "integer"
        },
        "totalRequests": {
          "format": "int32",
          "type": "integer"
        },
        "totalBlockedUsers": {
          "format": "int32",
          "type": "integer"
        },
        "totalPendingPosts": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomUpdateRequest": {
      "description": "Yêu cầu sửa thông tin room",
      "type": "object",
      "properties": {
        "name": {
          "description": "Tiêu đề",
          "type": "string"
        },
        "description": {
          "description": "Mô tả",
          "type": "string"
        },
        "topics": {
          "description": "Các chủ đề liên quan đến nhóm",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "symbols": {
          "description": "Các mã chứng khoán liên quan đến nhóm",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "privacy": {
          "format": "int32",
          "description": "Loại nhóm - 0: Nhóm công khai, 1: Nhóm riêng tư",
          "type": "integer"
        },
        "visibility": {
          "format": "int32",
          "description": "Tính công khai nhóm - 0: Công khai, cho phép người dùng bình thường có thể tìm thấy nhóm trên cộng đồng, 1: Không công khai, chỉ thành viên của nhóm mới tìm thấy nhóm trên cộng đồng",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomCreationRequest": {
      "description": "Yêu cầu tạo room",
      "type": "object",
      "properties": {
        "name": {
          "description": "Tiêu đề",
          "type": "string"
        },
        "description": {
          "description": "Mô tả",
          "type": "string"
        },
        "privacy": {
          "format": "int32",
          "description": "Loại nhóm - 0: Nhóm công khai, 1: Nhóm riêng tư",
          "type": "integer"
        },
        "visibility": {
          "format": "int32",
          "description": "Tính công khai nhóm - 0: Công khai, cho phép người dùng bình thường có thể tìm thấy nhóm trên cộng đồng, 1: Không công khai, chỉ thành viên của nhóm mới tìm thấy nhóm trên cộng đồng",
          "type": "integer"
        },
        "coverImage": {
          "format": "byte",
          "description": "Ảnh cover",
          "type": "string"
        },
        "topics": {
          "description": "Các chủ đề liên quan đến nhóm",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "symbols": {
          "description": "Các mã chứng khoán liên quan đến nhóm",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inviteFollowers": {
          "description": "Mời những người theo dõi",
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomCoverImageUpdateRequest": {
      "description": "Yêu cầu tạo room",
      "type": "object",
      "properties": {
        "base64Image": {
          "description": "Ảnh cover",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomInvitationRequest": {
      "description": "Lời mời tham gia room",
      "type": "object",
      "properties": {
        "userIds": {
          "description": "Người được mời",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomPendingRequest": {
      "type": "object",
      "properties": {
        "requestID": {
          "format": "int32",
          "type": "integer"
        },
        "requestedDate": {
          "format": "date-time",
          "type": "string"
        },
        "user": {
          "$ref": "#/definitions/FireAnt.Api.Models.Users.UserItem"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomRequestAction": {
      "description": "Hành động với lời mời",
      "type": "object",
      "properties": {
        "accepted": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomAssignmentRequest": {
      "description": "Yêu cầu gán quyền cho thành viên",
      "type": "object",
      "properties": {
        "role": {
          "format": "int32",
          "description": "Role",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomMember": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "bio": {
          "type": "string"
        },
        "followed": {
          "type": "boolean"
        },
        "roomID": {
          "format": "int32",
          "type": "integer"
        },
        "memberID": {
          "format": "int32",
          "type": "integer"
        },
        "role": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomBlockedUser": {
      "description": "Người dùng bị chặn trong nhóm",
      "type": "object",
      "properties": {
        "userId": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Rooms.RoomStickyPostAction": {
      "description": "Hành động gán trạng thái đính cho bài viết",
      "type": "object",
      "properties": {
        "isSticky": {
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Posts.SearchItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.SymbolValueItem": {
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Mã chứng khoán",
          "type": "string"
        },
        "value": {
          "format": "double",
          "description": "Giá trị giao dịch",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Quote.HistoricalQuote": {
      "description": "Giá lịch sử của một mã chứng khoán",
      "type": "object",
      "properties": {
        "date": {
          "format": "date-time",
          "description": "Ngày giao dịch",
          "type": "string"
        },
        "symbol": {
          "description": "Mã chứng khoán",
          "type": "string"
        },
        "priceHigh": {
          "format": "double",
          "description": "Giá cao nhất",
          "type": "number"
        },
        "priceLow": {
          "format": "double",
          "description": "Giá thấp nhất",
          "type": "number"
        },
        "priceOpen": {
          "format": "double",
          "description": "Giá mở cửa",
          "type": "number"
        },
        "priceAverage": {
          "format": "double",
          "description": "Giá trung bình",
          "type": "number"
        },
        "priceClose": {
          "format": "double",
          "description": "Giá đóng cửa",
          "type": "number"
        },
        "priceBasic": {
          "format": "double",
          "description": "Giá tham chiếu",
          "type": "number"
        },
        "totalVolume": {
          "format": "double",
          "description": "Tổng khối lượng",
          "type": "number"
        },
        "dealVolume": {
          "format": "double",
          "description": "Khối lượng khớp lệnh",
          "type": "number"
        },
        "putthroughVolume": {
          "format": "double",
          "description": "Khối lượng thỏa thuận",
          "type": "number"
        },
        "totalValue": {
          "format": "double",
          "description": "Tổng giá trị giao dịch",
          "type": "number"
        },
        "putthroughValue": {
          "format": "double",
          "description": "Giá trị thỏa thuận",
          "type": "number"
        },
        "buyForeignQuantity": {
          "format": "double",
          "description": "Khối lượng NĐT nước ngoài mua",
          "type": "number"
        },
        "buyForeignValue": {
          "format": "double",
          "description": "Giá trị NĐT nước ngoài mua",
          "type": "number"
        },
        "sellForeignQuantity": {
          "format": "double",
          "description": "Khối lượng NĐT nước ngoài bán",
          "type": "number"
        },
        "sellForeignValue": {
          "format": "double",
          "description": "Giá trị NĐT nước ngoài bán",
          "type": "number"
        },
        "buyCount": {
          "format": "double",
          "description": "Số lệnh mua",
          "type": "number"
        },
        "buyQuantity": {
          "format": "double",
          "description": "Khối lượng mua",
          "type": "number"
        },
        "sellCount": {
          "format": "double",
          "description": "Số lệnh bán",
          "type": "number"
        },
        "sellQuantity": {
          "format": "double",
          "description": "Khối lượng bán",
          "type": "number"
        },
        "adjRatio": {
          "format": "double",
          "description": "Tỉ lệ điều chỉnh",
          "type": "number"
        },
        "currentForeignRoom": {
          "format": "double",
          "description": "Room nước ngoài",
          "type": "number"
        },
        "propTradingNetDealValue": {
          "format": "double",
          "description": "Giá trị tự doanh mua ròng (khớp lệnh)",
          "type": "number"
        },
        "propTradingNetPTValue": {
          "format": "double",
          "description": "Giá trị tự doanh mua ròng (thỏa thuận)",
          "type": "number"
        },
        "propTradingNetValue": {
          "format": "double",
          "description": "Giá trị tự doanh mua ròng",
          "type": "number"
        },
        "unit": {
          "format": "double",
          "description": "Đơn vị giá",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Finance.SummaryFinancialReports": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "rows": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      }
    },
    "FireAnt.Api.Models.Finance.FinancialReportRow": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "parentID": {
          "format": "int32",
          "type": "integer"
        },
        "expanded": {
          "type": "boolean"
        },
        "level": {
          "format": "int32",
          "type": "integer"
        },
        "field": {
          "type": "string"
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Finance.FinancialReportValue"
          }
        }
      }
    },
    "FireAnt.Api.Models.Finance.FinancialReportValue": {
      "type": "object",
      "properties": {
        "period": {
          "type": "string"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        },
        "quarter": {
          "format": "int32",
          "type": "integer"
        },
        "value": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Finance.FinancialIndicator": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Tên đầy đủ chỉ tiêu",
          "type": "string"
        },
        "shortName": {
          "description": "Tên ngắn gọn chỉ tiêu",
          "type": "string"
        },
        "description": {
          "description": "Mô tả chỉ tiêu",
          "type": "string"
        },
        "group": {
          "format": "int32",
          "description": "ID của nhóm chỉ tiêu",
          "type": "integer"
        },
        "groupName": {
          "description": "Tên nhóm chỉ tiêu",
          "type": "string"
        },
        "value": {
          "format": "double",
          "description": "Giá trị hiện tại của chỉ tiêu",
          "type": "number"
        },
        "change": {
          "format": "double",
          "description": "Thay đổi so với kỳ báo cáo gần nhất (hoặc so với phiên trước đối với các chỉ tiêu định giá)",
          "type": "number"
        },
        "industryValue": {
          "format": "double",
          "description": "Giá trị chỉ tiêu của ngành tương ứng",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.Fundamental": {
      "type": "object",
      "properties": {
        "symbol": {
          "description": "Mã chứng khoán",
          "type": "string"
        },
        "companyType": {
          "format": "int32",
          "description": " (General = Doanh nghiệp thông thường, Bank = Ngân hàng, Securities = Công ty chứng khoán, Fund = Quỹ, Insurance = Công ty bảo hiểm)",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "sharesOutstanding": {
          "format": "double",
          "description": "Số lượng cổ phiếu đang lưu hành",
          "type": "number"
        },
        "freeShares": {
          "format": "double",
          "description": "Số lượng cổ phiếu tự do chuyển nhượng",
          "type": "number"
        },
        "beta": {
          "format": "double",
          "description": "Chỉ số Beta",
          "type": "number"
        },
        "dividend": {
          "format": "double",
          "description": "Cổ tức",
          "type": "number"
        },
        "dividendYield": {
          "format": "double",
          "description": "Tỷ suất cổ tức",
          "type": "number"
        },
        "marketCap": {
          "format": "double",
          "description": "Giá trị vốn hóa thị trường",
          "type": "number"
        },
        "low52Week": {
          "format": "double",
          "description": "Giá thấp nhất 52 tuần (hay 1 năm)",
          "type": "number"
        },
        "high52Week": {
          "format": "double",
          "description": "Giá cao nhất 52 tuần (hay 1 năm)",
          "type": "number"
        },
        "priceChange1y": {
          "format": "double",
          "description": "Thay đổi giá 1 năm",
          "type": "number"
        },
        "avgVolume10d": {
          "format": "double",
          "description": "Khối lượng giao dịch trung bình 10 phiên gần nhất",
          "type": "number"
        },
        "avgVolume3m": {
          "format": "double",
          "description": "Khối lượng giao dịch trung bình 3 tháng gần nhất",
          "type": "number"
        },
        "pe": {
          "format": "double",
          "description": "PE",
          "type": "number"
        },
        "eps": {
          "format": "double",
          "description": "EPS",
          "type": "number"
        },
        "sales_TTM": {
          "format": "double",
          "description": "Doanh thu 4 quý liên tiếp",
          "type": "number"
        },
        "netProfit_TTM": {
          "format": "double",
          "description": "Lợi nhuận 4 quý liên tiếp",
          "type": "number"
        },
        "insiderOwnership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu của ban lãnh đạo",
          "type": "number"
        },
        "institutionOwnership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu của tổ chức",
          "type": "number"
        },
        "foreignOwnership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu của nhà đầu tư nước ngoài",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.CompanyInfo": {
      "description": "Company Information",
      "type": "object",
      "properties": {
        "institutionID": {
          "format": "int32",
          "type": "integer"
        },
        "symbol": {
          "description": "Mã chứng khoán",
          "type": "string"
        },
        "icbCode": {
          "description": "Mã ngành ICB",
          "type": "string"
        },
        "companyName": {
          "description": "Tên doanh nghiệp",
          "type": "string"
        },
        "shortName": {
          "description": "Tên viết tắt của doanh nghiệp",
          "type": "string"
        },
        "internationalName": {
          "description": "Tên quốc tế của doanh nghiệp",
          "type": "string"
        },
        "headQuarters": {
          "description": "Trụ sở",
          "type": "string"
        },
        "phone": {
          "description": "Điện thoạ",
          "type": "string"
        },
        "fax": {
          "description": "Fax",
          "type": "string"
        },
        "email": {
          "description": "Email",
          "type": "string"
        },
        "webAddress": {
          "description": "Website",
          "type": "string"
        },
        "overview": {
          "description": "Tổng quan",
          "type": "string"
        },
        "history": {
          "description": "Lịch sử hình thành",
          "type": "string"
        },
        "businessAreas": {
          "description": "Ngành nghề kinh doanh",
          "type": "string"
        },
        "employees": {
          "format": "int64",
          "description": "Số nhân viên",
          "type": "integer"
        },
        "branches": {
          "format": "int32",
          "description": "Số chi nhánh",
          "type": "integer"
        },
        "establishmentDate": {
          "format": "date-time",
          "description": "Ngày thành lập",
          "type": "string"
        },
        "businessLicenseNumber": {
          "description": "Số đăng ký kinh doanh",
          "type": "string"
        },
        "dateOfIssue": {
          "format": "date-time",
          "description": "Ngày cấp đăng ký kinh doanh",
          "type": "string"
        },
        "taxIDNumber": {
          "description": "Mã số thuế",
          "type": "string"
        },
        "charterCapital": {
          "format": "double",
          "description": "Vốn điều lệ",
          "type": "number"
        },
        "dateOfListing": {
          "format": "date-time",
          "description": "Ngày niêm yết",
          "type": "string"
        },
        "exchange": {
          "description": "Sàn niêm yết",
          "type": "string"
        },
        "initialListingPrice": {
          "format": "double",
          "description": "Giá niêm yết",
          "type": "number"
        },
        "listingVolume": {
          "format": "double",
          "description": "Khối lượng niêm yết",
          "type": "number"
        },
        "stateOwnership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu nhà nước",
          "type": "number"
        },
        "foreignOwnership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu nước ngoài",
          "type": "number"
        },
        "otherOwnership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu khác",
          "type": "number"
        },
        "isListed": {
          "description": "Đã niêm yết",
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.SubCompanyInfo": {
      "type": "object",
      "properties": {
        "institutionID": {
          "format": "int32",
          "description": "ID của tổ chức",
          "type": "integer"
        },
        "symbol": {
          "description": "Mã chứng khoán",
          "type": "string"
        },
        "exchange": {
          "description": "Sàn niêm yết",
          "type": "string"
        },
        "companyName": {
          "description": "Tên doanh nghiệp",
          "type": "string"
        },
        "shortName": {
          "description": "Tên viết tắt",
          "type": "string"
        },
        "internationalName": {
          "description": "Tên quốc tế",
          "type": "string"
        },
        "companyProfile": {
          "description": "Hồ sơ doanh nghiệp",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "description": "Loại hình công ty con (Subsidiary = Công ty con, Linked = Công ty liên kết, Venture = Công ty liên doanh, Investment = Công ty đầu tư góp vốn, Unknown = Chưa xác định)",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "ownership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu",
          "type": "number"
        },
        "shares": {
          "format": "double",
          "description": "Số lượng cổ phiếu",
          "type": "number"
        },
        "isListed": {
          "description": "Đã niêm yết",
          "type": "boolean"
        },
        "charterCapital": {
          "format": "double",
          "description": "Vốn điều lệ",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.MajorHolder": {
      "type": "object",
      "properties": {
        "majorHolderID": {
          "format": "int32",
          "description": "ID của cổ đông lớn",
          "type": "integer"
        },
        "individualHolderID": {
          "format": "int32",
          "description": "ID cá nhân (nếu là cổ đông cá nhân)",
          "type": "integer"
        },
        "institutionHolderID": {
          "format": "int32",
          "description": "ID tổ chức (nếu là cổ đông tổ chức)",
          "type": "integer"
        },
        "institutionHolderSymbol": {
          "description": "Mã chứng khoán của tổ chức (nếu là cổ đông tổ chức)",
          "type": "string"
        },
        "institutionHolderExchange": {
          "description": "Sàn niêm yết của tổ chức (nếu là cổ đông tổ chức)",
          "type": "string"
        },
        "name": {
          "description": "Tên của cổ đông",
          "type": "string"
        },
        "position": {
          "description": "Vị trí của cổ đông",
          "type": "string"
        },
        "shares": {
          "format": "double",
          "description": "Số lượng cổ phiếu của cổ đông",
          "type": "number"
        },
        "ownership": {
          "format": "double",
          "description": "Tỉ lệ sở hữu của cổ đông",
          "type": "number"
        },
        "isOrganization": {
          "description": "Cổ đông tổ chức",
          "type": "boolean"
        },
        "isForeigner": {
          "description": "Cổ đông nước ngoài",
          "type": "boolean"
        },
        "isFounder": {
          "description": "Cổ đông sáng lập",
          "type": "boolean"
        },
        "reported": {
          "format": "date-time",
          "description": "Ngày cập nhật",
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.CompanyOfficer": {
      "type": "object",
      "properties": {
        "officerID": {
          "format": "int32",
          "description": "ID của lãnh đạo",
          "type": "integer"
        },
        "individualID": {
          "format": "int32",
          "description": "ID của cá nhân",
          "type": "integer"
        },
        "name": {
          "description": "Tên của lãnh đạo",
          "type": "string"
        },
        "positionID": {
          "format": "int32",
          "description": "ID của vị trí",
          "type": "integer"
        },
        "position": {
          "description": "Vị trí của lãnh đạo",
          "type": "string"
        },
        "isForeigner": {
          "description": "Người nước ngoài",
          "type": "boolean"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.TimescaleMark": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "date": {
          "format": "date-time",
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "color": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Institutions.EquityDividend": {
      "type": "object",
      "properties": {
        "year": {
          "format": "int32",
          "description": "Năm",
          "type": "integer"
        },
        "cashDividend": {
          "format": "double",
          "description": "Cổ tức bằng tiền",
          "type": "number"
        },
        "stockDividend": {
          "format": "double",
          "description": "Cổ tức bằng cổ phiếu",
          "type": "number"
        },
        "totalAssets": {
          "format": "double",
          "description": "Tổng tài sản",
          "type": "number"
        },
        "stockHolderEquity": {
          "format": "double",
          "description": "Vốn chủ sở hữu",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Statistics.EstimatedPrice": {
      "type": "object",
      "properties": {
        "estimatedPriceDCF": {
          "format": "double",
          "type": "number"
        },
        "proportionDCF": {
          "format": "double",
          "type": "number"
        },
        "estimatedPricePE": {
          "format": "double",
          "type": "number"
        },
        "proportionPE": {
          "format": "double",
          "type": "number"
        },
        "estimatedPricePB": {
          "format": "double",
          "type": "number"
        },
        "proportionPB": {
          "format": "double",
          "type": "number"
        },
        "estimatedPriceGraham1": {
          "format": "double",
          "type": "number"
        },
        "proportionGraham1": {
          "format": "double",
          "type": "number"
        },
        "estimatedPriceGraham2": {
          "format": "double",
          "type": "number"
        },
        "proportionGraham2": {
          "format": "double",
          "type": "number"
        },
        "estimatedPriceGraham3": {
          "format": "double",
          "type": "number"
        },
        "proportionGraham3": {
          "format": "double",
          "type": "number"
        },
        "composedPrice": {
          "format": "double",
          "type": "number"
        }
      }
    },
    "FireAnt.Api.Models.Commodities.ContractInfo": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "exchange": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "commoditySymbol": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "month": {
          "format": "int32",
          "type": "integer"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        },
        "contractUnit": {
          "type": "string"
        },
        "contractVolume": {
          "format": "int32",
          "type": "integer"
        },
        "tickSize": {
          "format": "double",
          "type": "number"
        },
        "firstNoticeDate": {
          "format": "date-time",
          "type": "string"
        },
        "lastTradingDate": {
          "format": "date-time",
          "type": "string"
        },
        "session": {
          "type": "string"
        },
        "settlementDate": {
          "format": "date-time",
          "type": "string"
        },
        "finalDeliveryDate": {
          "format": "date-time",
          "type": "string"
        },
        "lastNoticeDate": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "holidays": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FireAnt.Api.Models.Commodities.HolidayInfo"
          }
        }
      }
    },
    "FireAnt.Api.Models.Commodities.HolidayInfo": {
      "type": "object",
      "properties": {
        "holidayDate": {
          "format": "date-time",
          "type": "string"
        },
        "holidayType": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        }
      }
    },
    "FireAnt.Api.Models.Warrant.WarrantInfo": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "realName": {
          "type": "string"
        },
        "fireAntName": {
          "type": "string"
        },
        "issuer": {
          "type": "string"
        },
        "issuerSymbol": {
          "type": "string"
        },
        "originalIssuedPrice": {
          "format": "double",
          "type": "number"
        },
        "lastIssuedPrice": {
          "format": "double",
          "type": "number"
        },
        "optionChoice": {
          "format": "int32",
          "description": " (0 = CALL, 1 = PUT)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "optionType": {
          "format": "int32",
          "description": " (0 = EUROPEAN, 1 = AMERICA)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "right": {
          "format": "int32",
          "description": " (0 = BUY, 1 = SELL)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "originalExercisePrice": {
          "format": "double",
          "type": "number"
        },
        "exercisePrice": {
          "format": "double",
          "type": "number"
        },
        "paidPrice": {
          "format": "double",
          "type": "number"
        },
        "originalExerciseRatio": {
          "format": "double",
          "type": "number"
        },
        "exerciseRatio": {
          "format": "double",
          "type": "number"
        },
        "basicSecuritiesSymbol": {
          "type": "string"
        },
        "listedShares": {
          "format": "double",
          "type": "number"
        },
        "outStandingShares": {
          "format": "double",
          "type": "number"
        },
        "issuedDay": {
          "format": "date-time",
          "type": "string"
        },
        "lastIssuedDay": {
          "format": "date-time",
          "type": "string"
        },
        "listedDay": {
          "format": "date-time",
          "type": "string"
        },
        "firstTradingDay": {
          "format": "date-time",
          "type": "string"
        },
        "duedDate": {
          "format": "date-time",
          "type": "string"
        },
        "lastTradingDay": {
          "format": "date-time",
          "type": "string"
        },
        "duration": {
          "format": "double",
          "type": "number"
        },
        "modeOfExerciseOfRights": {
          "format": "int32",
          "description": " (0 = CASH, 1 = STOCK)",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "isinCode": {
          "type": "string"
        },
        "valueOfPaymentSecurityAssets": {
          "format": "double",
          "type": "number"
        },
        "lastValueOfPaymentSecurityAssets": {
          "format": "double",
          "type": "number"
        },
        "valueOfPaymentSecurityAssetsProcent": {
          "format": "double",
          "type": "number"
        },
        "lastValueOfPaymentSecurityAssetsProcent": {
          "format": "double",
          "type": "number"
        },
        "marketCapitalization": {
          "format": "double",
          "type": "number"
        },
        "warrantPrice": {
          "format": "double",
          "type": "number"
        },
        "basicSecuritiesPrice": {
          "format": "double",
          "type": "number"
        },
        "breakEvenPrice": {
          "format": "double",
          "type": "number"
        },
        "cwStatus": {
          "format": "int32",
          "description": " (0 = OTM, 1 = ITM, 2 = ATM)",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "listingStatus": {
          "format": "int32",
          "description": " (0 = NONE, 1 = LISTING, 2 = EXPIRED)",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "symbolID": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "FireAnt.Api.Models.Crypto.CryptoInfo": {
      "type": "object",
      "properties": {
        "algorithm": {
          "description": "Gets or sets the algorithm of the coin.",
          "type": "string"
        },
        "coinName": {
          "description": "Gets or sets the name of the coin.",
          "type": "string"
        },
        "fullName": {
          "description": "Gets or sets the full name of the coins.",
          "type": "string"
        },
        "fullyPremined": {
          "description": "Gets or sets the number of fully premined coins.",
          "type": "string"
        },
        "id": {
          "format": "int32",
          "description": "Gets or sets the internal id, this is used in other calls.",
          "type": "integer"
        },
        "imageUrl": {
          "description": "Gets or sets he logo image of the coin.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the coin name.",
          "type": "string"
        },
        "preMinedValue": {
          "description": "Gets or sets the pre-mined value.",
          "type": "string"
        },
        "proofType": {
          "description": "Gets or sets the proof type.",
          "type": "string"
        },
        "sortOrder": {
          "format": "int32",
          "description": "Gets the sort order.",
          "type": "integer"
        },
        "sponsored": {
          "description": "Gets or sets a value indicating whether the  coin is sponsored.",
          "type": "boolean"
        },
        "symbol": {
          "description": "Gets or sets the symbol.",
          "type": "string"
        },
        "smartContractAddress": {
          "description": "Gets or sets the smart contract address.",
          "type": "string"
        },
        "totalCoinsFreeFloat": {
          "description": "Gets or sets the total number of freed coins.",
          "type": "string"
        },
        "totalCoinSupply": {
          "description": "Gets or sets the total number of supplied coins.",
          "type": "string"
        },
        "url": {
          "description": "Gets or sets the url of the coin on cryptocompare.",
          "type": "string"
        },
        "isTrading": {
          "type": "boolean"
        },
        "description": {
          "type": "string"
        },
        "circulatingSupply": {
          "format": "double",
          "type": "number"
        },
        "maxSupply": {
          "format": "double",
          "type": "number"
        },
        "platformType": {
          "type": "string"
        },
        "builtOn": {
          "type": "string"
        },
        "otherSmartContractAddress": {
          "type": "string"
        },
        "totalCoinsMined": {
          "format": "double",
          "type": "number"
        },
        "blockNumber": {
          "format": "int32",
          "type": "integer"
        },
        "blockTime": {
          "format": "double",
          "type": "number"
        },
        "blockReward": {
          "format": "double",
          "type": "number"
        },
        "decimalPoints": {
          "format": "int32",
          "type": "integer"
        },
        "assetLaunchDate": {
          "format": "date-time",
          "type": "string"
        },
        "rating": {
          "type": "string"
        },
        "marketCap": {
          "format": "double",
          "type": "number"
        },
        "marketCapPenalty": {
          "format": "double",
          "type": "number"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "priceAt": {
          "format": "date-time",
          "type": "string"
        },
        "median": {
          "format": "double",
          "type": "number"
        },
        "volume": {
          "format": "double",
          "type": "number"
        },
        "totalVolume": {
          "format": "double",
          "type": "number"
        },
        "change": {
          "format": "double",
          "type": "number"
        },
        "basic": {
          "format": "double",
          "type": "number"
        },
        "open": {
          "format": "double",
          "type": "number"
        },
        "high": {
          "format": "double",
          "type": "number"
        },
        "low": {
          "format": "double",
          "type": "number"
        },
        "currentSupply": {
          "format": "double",
          "type": "number"
        },
        "fractionDigits": {
          "format": "int32",
          "type": "integer"
        },
        "volume24h": {
          "format": "double",
          "type": "number"
        }
      }
    }
  },
  "securityDefinitions": {
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth2 Implicit Grant",
      "flow": "implicit",
      "authorizationUrl": "https://accounts.fireant.vn/connect/authorize",
      "scopes": {
        "accounts-read": "Đọc danh sách tài khoản giao dịch chứng khoán",
        "accounts-write": "Liên kết tài khoản chứng khoán",
        "orders-read": "Đọc danh sách lệnh giao dịch chứng khoán",
        "orders-write": "Đặt, sửa, hủy lệnh giao dịch chứng khoán",
        "companies-read": "Đọc thông tin doanh nghiệp",
        "companies-write": "Tạo mới, cập nhật, xóa thông tin doanh nghiệp",
        "individuals-read": "Đọc thông tin cá nhân",
        "individuals-write": "Tạo mới, cập nhật, xóa thông tin cá nhân",
        "finance-read": "Đọc thông tin tài chính",
        "finance-write": "Tạo mới, cập nhật, xóa thông tin tài chính",
        "posts-write": "Đăng bài viết",
        "posts-read": "Lấy nội dung các bài viết của cộng đồng",
        "symbols-read": "Đọc thông tin mã chứng khoán",
        "symbols-write": "Tạo mới, cập nhật, xóa mã chứng khoán",
        "users-read": "Đọc dữ liệu công khai của người dùng",
        "user-data-read": "Đọc tất cả dữ liệu của người dùng hiện tại",
        "user-data-write": "Cập nhật tất cả dữ liệu của người dùng hiện tại",
        "search": "Tìm kiếm",
        "academy-read": "Đọc dữ liệu các khóa học",
        "academy-write": "Đăng ký khóa học",
        "blog-read": "Đọc dữ liệu blog",
        "investopedia-read": "Đọc dữ liệu thuật ngữ",
        "commodities-read": "Đọc dữ liệu hàng hóa phái sinh",
        "all_claims": "All",
        "roles": "Role"
      }
    }
  }
}