{
  "x-generator": "NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))",
  "swagger": "2.0",
  "info": {
    "title": "Loop API",
    "description": "Interactive interface for Loop API<br>Loop API/InTheLoop 15.00.00.42840 stable 23d1edfb 2026-11-02 11:40:58 +0100",
    "version": "v1"
  },
  "host": "api.intheloop.io",
  "schemes": [
    "https"
  ],
  "paths": {
    "/api": {
      "head": {
        "tags": [
          "Home"
        ],
        "summary": "HEAD",
        "operationId": "Home_Head",
        "produces": [
          "text/plain",
          "application/json; charset=utf-8"
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "options": {
        "tags": [
          "Home"
        ],
        "summary": "OPTIONS",
        "operationId": "Home_Options",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Options"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Home"
        ],
        "summary": "GET",
        "operationId": "Home_Get",
        "produces": [
          "text/plain",
          "application/json; charset=utf-8"
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/modifiedSwagger": {
      "get": {
        "tags": [
          "Home"
        ],
        "summary": "GET modifiedSwagger",
        "operationId": "Home_GetModifiedSwagger",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/activity": {
      "get": {
        "tags": [
          "Activity"
        ],
        "summary": "Get the cross-channel activity timeline for a profile or company within an optional time span",
        "operationId": "Activity_GetActivityTimeline",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "query",
            "description": "Id of the profile or company whose activity to retrieve.",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Maximum number of events to return (default 20, max 100).",
            "format": "int32",
            "default": 20,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "dateTimeStart",
            "in": "query",
            "description": "Start of the time span (inclusive, UTC). When omitted, no lower limit is applied.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "dateTimeEnd",
            "in": "query",
            "description": "End of the time span (UTC). When omitted, defaults to now.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Next page of events, taken from OffsetHistoryId of the previous response. When set, dateTimeStart and dateTimeEnd are ignored.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "channelType",
            "in": "query",
            "description": "Channel type to filter by (e.g. \"messenger\"). Use \"commentMail\" to return only comments with no channel type set (traditional email). When omitted, all channel types are returned.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ActivityTimeline"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/activity/participants": {
      "get": {
        "tags": [
          "Activity"
        ],
        "summary": "Get the people who have been in touch with a profile or company, most recent first",
        "operationId": "Activity_GetActivityParticipants",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "query",
            "description": "Id of the profile or company whose participants to retrieve.",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Maximum number of participants to return (default 5, max 100).",
            "format": "int32",
            "default": 5,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "dateTimeStart",
            "in": "query",
            "description": "Start of the time span (inclusive, UTC). When omitted, defaults to 7 days before dateTimeEnd.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "dateTimeEnd",
            "in": "query",
            "description": "End of the time span (UTC). When omitted, defaults to now.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "channelType",
            "in": "query",
            "description": "Channel type to filter by, same values as the activity timeline. When omitted, all channel types are included.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ActivityParticipants"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/appointment/{id}": {
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "Get appointment by id.",
        "operationId": "Appointment_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Card appointment id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "authorizationCardId",
            "in": "query",
            "description": "Authorization card id",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "HTML format of comment body",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "includeSignedLinks",
            "in": "query",
            "description": "Attachment includes signed links",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Appointment card",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Appointment"
        ],
        "summary": "Delete an appointment",
        "operationId": "Appointment_DeleteCardAppointment",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Appointment id.",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "contextId",
            "in": "query",
            "description": "Team ID is used to verify access and select Inbox account as creator.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/appointment": {
      "post": {
        "tags": [
          "Appointment"
        ],
        "summary": "Create new appointment",
        "operationId": "Appointment_CreateAppointment",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "cardAppointment",
            "in": "body",
            "required": true,
            "description": "Card appointment object",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "contextId",
            "in": "query",
            "description": "Team ID is used to verify access and select Inbox account as creator.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Appointment"
        ],
        "summary": "Update an appointment",
        "operationId": "Appointment_UpdateCardAppointment",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "cardAppointment",
            "in": "body",
            "required": true,
            "description": "Card appointment object",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "contextId",
            "in": "query",
            "description": "Team ID is used to verify access and select Inbox account as creator.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/appointment/list": {
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "Get appointment cards sorted by date time (agenda view).\nInclude self context in contextList by adding \"me\". This also works with allTeamContexts option.\nLeaving contextList and allTeamContexts empty will fetch own context.",
        "operationId": "Appointment_GetAgendaList",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "dateTimeStart",
            "in": "query",
            "description": "Minimum start date time of appointment",
            "format": "date-time",
            "x-nullable": false
          },
          {
            "type": "array",
            "name": "contextList",
            "in": "query",
            "description": "Get appointments for specified contexts.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "allTeamContexts",
            "in": "query",
            "description": "Get appointments for all team contexts.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "dateTimeEnd",
            "in": "query",
            "description": "Maximum end time of appointment (if not defined you get all appointments from dateTimeStart onwards)",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "HTML format of comment body.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCardAppointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/appointment/list/settings": {
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "Get agenda settings and options (list available online meeting providers)",
        "operationId": "Appointment_GetAgendaSettingsList",
        "parameters": [
          {
            "type": "array",
            "name": "contextList",
            "in": "query",
            "description": "Get appointments for specified contexts.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "allTeamContexts",
            "in": "query",
            "description": "Get appointments for all team contexts.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfAgendaSettings"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/appointment/{id}/response": {
      "put": {
        "tags": [
          "Appointment"
        ],
        "summary": "Update appointment response for appointment card",
        "operationId": "Appointment_UpdateAppointmentResponse",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Card id",
            "x-nullable": false
          },
          {
            "name": "appointmentResponse",
            "in": "body",
            "required": true,
            "description": "Appointment response object",
            "schema": {
              "$ref": "#/definitions/AppointmentResponse"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppointmentResponse"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/exchange": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for MS Exchange account.",
        "operationId": "Auth_CreateExchangeAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authExchange",
            "in": "body",
            "required": true,
            "description": "Exchange authorization",
            "schema": {
              "$ref": "#/definitions/AuthExchange"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "loginPurpose",
            "in": "query",
            "description": "login purpose enum",
            "x-schema": {
              "$ref": "#/definitions/LoginPurpose"
            },
            "default": "Login",
            "x-nullable": false,
            "enum": [
              "Login",
              "SetSecret"
            ]
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthExchange"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/microsoftprofile": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Get profile for MS Graph api account.",
        "operationId": "Auth_MicrosoftProfile",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authMicrosoft",
            "in": "body",
            "required": true,
            "description": "Microsoft authorization",
            "schema": {
              "$ref": "#/definitions/AuthMicrosoft"
            },
            "x-nullable": false
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthMicrosoft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/microsoft": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for MS Graph api account.",
        "operationId": "Auth_CreateMicrosoftAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authMicrosoft",
            "in": "body",
            "required": true,
            "description": "Microsoft authorization",
            "schema": {
              "$ref": "#/definitions/AuthMicrosoft"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "loginPurpose",
            "in": "query",
            "description": "login purpose enum",
            "x-schema": {
              "$ref": "#/definitions/LoginPurpose"
            },
            "default": "Login",
            "x-nullable": false,
            "enum": [
              "Login",
              "SetSecret"
            ]
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthMicrosoft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/gmail": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for gmail account.",
        "operationId": "Auth_CreateGmailAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authGoogle",
            "in": "body",
            "required": true,
            "description": "Google authorization",
            "schema": {
              "$ref": "#/definitions/AuthGoogle"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "loginPurpose",
            "in": "query",
            "description": "login purpose enum",
            "x-schema": {
              "$ref": "#/definitions/LoginPurpose"
            },
            "default": "Login",
            "x-nullable": false,
            "enum": [
              "Login",
              "SetSecret"
            ]
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthGoogle"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/gmailprofile": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for gmail account.",
        "operationId": "Auth_ProfileGmail",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authGoogle",
            "in": "body",
            "required": true,
            "description": "Google authorization",
            "schema": {
              "$ref": "#/definitions/AuthGoogle"
            },
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/UserEmailInfo"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/tokenCode": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request with code exchange.",
        "operationId": "Auth_CreateTokenCodeAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authCode",
            "in": "body",
            "required": true,
            "description": "Code authorization",
            "schema": {
              "$ref": "#/definitions/AuthCode"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "otpCode",
            "in": "query",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthCode"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/imap": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for IMAP account.",
        "operationId": "Auth_CreateImapAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authImapSmtp",
            "in": "body",
            "required": true,
            "description": "Exchange authorization",
            "schema": {
              "$ref": "#/definitions/AuthImapSmtp"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "loginPurpose",
            "in": "query",
            "description": "Parameter set secret purpose",
            "x-schema": {
              "$ref": "#/definitions/LoginPurpose"
            },
            "default": "Login",
            "x-nullable": false,
            "enum": [
              "Login",
              "SetSecret"
            ]
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthImapSmtp"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/test": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for test account.",
        "operationId": "Auth_CreateTestAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authTest",
            "in": "body",
            "required": true,
            "description": "Test authorization",
            "schema": {
              "$ref": "#/definitions/AuthTest"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthTest"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/integration": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for integration account.",
        "operationId": "Auth_CreateIntegrationAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authIntegration",
            "in": "body",
            "required": true,
            "description": "Integration authorization",
            "schema": {
              "$ref": "#/definitions/AuthIntegration"
            },
            "x-nullable": false
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthIntegration"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/remoteimap": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for remote imap account.",
        "operationId": "Auth_CreateRemoteImapAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authRemoteImap",
            "in": "body",
            "required": true,
            "description": "Remote Imap authorization",
            "schema": {
              "$ref": "#/definitions/AuthRemoteImap"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthRemoteImap"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/password": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Send authorization request for integration account.",
        "operationId": "Auth_CreatePasswordAuth",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "authPassword",
            "in": "body",
            "required": true,
            "description": "Integration authorization",
            "schema": {
              "$ref": "#/definitions/AuthPassword"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isAddAccount",
            "in": "query",
            "description": "Parameter whether or not auth was posted through add account action",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "loginPurpose",
            "in": "query",
            "description": "login purpose enum",
            "x-schema": {
              "$ref": "#/definitions/LoginPurpose"
            },
            "default": "Login",
            "x-nullable": false,
            "enum": [
              "Login",
              "SetSecret"
            ]
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthPassword"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/verify": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Verify email address.",
        "operationId": "Auth_VerifyEmailAddress",
        "parameters": [
          {
            "type": "string",
            "name": "emailAddress",
            "in": "query",
            "description": "Email address to verify",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "verificationKey",
            "in": "query",
            "description": "Verification key",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "purpose",
            "in": "query",
            "description": "Verification purpose",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthVerifyResponse"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/sendverifyemail": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Verify email address.",
        "operationId": "Auth_SendVerifyEmailAddress",
        "parameters": [
          {
            "type": "string",
            "name": "emailAddress",
            "in": "query",
            "description": "Email address to verify",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "purpose",
            "in": "query",
            "description": "Verification purpose",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/availabilitystatus/list": {
      "get": {
        "tags": [
          "AvailabilityStatus"
        ],
        "summary": "Get list of availability status",
        "operationId": "AvailabilityStatus_GetAvailabilityStatusList",
        "parameters": [
          {
            "type": "string",
            "name": "workspaceId",
            "in": "query",
            "description": "optional workspace id otherwise is your default workspace",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "loopWorkspaceId",
            "in": "header",
            "description": "Workspace id header, used when workspaceId is not provided",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AvailabilityStatusList"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "\nor\nRequested resource not found.",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "",
                "schema": {
                  "$ref": "#/definitions/Void"
                }
              },
              {
                "description": "Requested resource not found.",
                "schema": {
                  "$ref": "#/definitions/Response"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/availabilitystatus": {
      "post": {
        "tags": [
          "AvailabilityStatus"
        ],
        "summary": "Create availability status",
        "operationId": "AvailabilityStatus_CreateAvailabilityStatus",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "availabilityStatus",
            "in": "body",
            "required": true,
            "description": "Update availability status",
            "schema": {
              "$ref": "#/definitions/AvailabilityStatus"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AvailabilityStatus"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "AvailabilityStatus"
        ],
        "summary": "Update availability status",
        "operationId": "AvailabilityStatus_UpdateAvailabilityStatus",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "availabilityStatus",
            "in": "body",
            "required": true,
            "description": "Update availability status",
            "schema": {
              "$ref": "#/definitions/AvailabilityStatus"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AvailabilityStatus"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "AvailabilityStatus"
        ],
        "summary": "Get availability status",
        "operationId": "AvailabilityStatus_GetAvailabilityStatus",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AvailabilityStatus"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/availabilitystatus/{availabilityStatusId}": {
      "delete": {
        "tags": [
          "AvailabilityStatus"
        ],
        "summary": "Delete availability status",
        "operationId": "AvailabilityStatus_DeleteAvailabilityStatus",
        "parameters": [
          {
            "type": "string",
            "name": "availabilityStatusId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/badgecount/list": {
      "options": {
        "tags": [
          "BadgeCount"
        ],
        "summary": "Get options for BadgeCountList",
        "operationId": "BadgeCount_GetSearchOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsSearch"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "BadgeCount"
        ],
        "summary": "Get BadgeCount for list.",
        "operationId": "BadgeCount_GetList",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "contexts",
            "in": "body",
            "description": "Contexts",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ShowInViewObject"
              }
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfBadgeCount"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/calendar": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "summary": "Get appointment by id.",
        "operationId": "Calendar_GetAppointmentEvent",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "query",
            "description": "Get appointments for specified context.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppointmentEvent"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Calendar"
        ],
        "summary": "Create appointment.\nInclude self context in contextList by adding \"me\". This also works with allTeamContexts option.\nLeaving contextList and allTeamContexts empty will fetch own context.",
        "operationId": "Calendar_CreateAppointment",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "appointment",
            "in": "body",
            "required": true,
            "description": "appointment create body",
            "schema": {
              "$ref": "#/definitions/Appointment"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "calendarInstanceId",
            "in": "query",
            "description": "Get appointments for specified calendar instance id.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "sendNotification",
            "in": "query",
            "description": "sending mail notifications",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppointmentEvent"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Calendar"
        ],
        "summary": "Update appointment.",
        "operationId": "Calendar_UpdateAppointment",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "appointment",
            "in": "body",
            "required": true,
            "description": "appointment create body",
            "schema": {
              "$ref": "#/definitions/Appointment"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "sendNotification",
            "in": "query",
            "description": "send notification",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppointmentEvent"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Calendar"
        ],
        "summary": "Delete appointment.",
        "operationId": "Calendar_CancelAppointment",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "query",
            "description": "appointment id",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "customMessage",
            "in": "query",
            "description": "ccancel message",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "sendNotification",
            "in": "query",
            "description": "send notification",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "doHardDelete",
            "in": "query",
            "description": "delete event",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Appointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/calendar/getbyconversationid": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "summary": "Get appointment by id.",
        "operationId": "Calendar_GetAppointmentEventByConversationId",
        "parameters": [
          {
            "type": "string",
            "name": "conversationId",
            "in": "query",
            "description": "Get appointments by converstation id.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppointmentEvent"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/calendar/respond": {
      "put": {
        "tags": [
          "Calendar"
        ],
        "summary": "Delete appointment.",
        "operationId": "Calendar_PerformActionAppointment",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "query",
            "description": "appointment id",
            "x-nullable": true
          },
          {
            "name": "respondRequest",
            "in": "body",
            "required": true,
            "description": "respond request",
            "schema": {
              "$ref": "#/definitions/AppointmentRespondRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppointmentEvent"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/calendar/instances": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "summary": "Get appointment sorted by date time (agenda view).\nInclude self context in contextList by adding \"me\". This also works with allTeamContexts option.\nLeaving contextList and allTeamContexts empty will fetch own context.",
        "operationId": "Calendar_GetCalendarInstances",
        "parameters": [
          {
            "type": "array",
            "name": "contextIds",
            "in": "query",
            "description": "Get appointments for specified context.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCalendarInstanceResponse"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/calendar/instancebyid": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "summary": "Get appointment sorted by date time (agenda view).\nInclude self context in contextList by adding \"me\". This also works with allTeamContexts option.\nLeaving contextList and allTeamContexts empty will fetch own context.",
        "operationId": "Calendar_GetCalendarInstancesById",
        "parameters": [
          {
            "type": "array",
            "name": "calendarInstanceIds",
            "in": "query",
            "description": "Get appointments for specified context.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCalendarInstanceResponse"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/calendar/list": {
      "put": {
        "tags": [
          "Calendar"
        ],
        "summary": "Get appointment sorted by date time (agenda view).\nInclude self context in contextList by adding \"me\". This also works with allTeamContexts option.\nLeaving contextList and allTeamContexts empty will fetch own context.",
        "operationId": "Calendar_GetAppointmentEvents",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "requestEvents",
            "in": "body",
            "description": "Get appointments for specified calendar instance ids.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CalendarEventsRequest"
              }
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "dateTimeStart",
            "in": "query",
            "description": "Minimum start date time of appointment (if history id is null - this must be specified)",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "dateTimeEnd",
            "in": "query",
            "description": "Maximum end time of appointment (if history id is null - this must be specified)",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CalendarEventsResponse"
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/calendar/freebusy": {
      "put": {
        "tags": [
          "Calendar"
        ],
        "summary": "Get appointment sorted by date time (agenda view).\nInclude self context in contextList by adding \"me\". This also works with allTeamContexts option.\nLeaving contextList and allTeamContexts empty will fetch own context.",
        "operationId": "Calendar_GetFreeBusyPeriods",
        "parameters": [
          {
            "type": "string",
            "name": "calendarInstanceId",
            "in": "query",
            "description": "Get appointments for specified calendar instance ids.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "userEmails",
            "in": "query",
            "description": "User emails to get free busy information.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "dateTimeStart",
            "in": "query",
            "description": "Minimum start date time of free busy if null today date is default",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "dateTimeEnd",
            "in": "query",
            "description": "Maximum end time is null - default is one day ahead than start time",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserBusy"
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/{id}": {
      "get": {
        "tags": [
          "Card"
        ],
        "summary": "Get card by id.",
        "operationId": "Card_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Card id",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "offsetComments",
            "in": "query",
            "description": "Requested page offset on Comments resource",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "sizeComments",
            "in": "query",
            "description": "Requested page size of Comments resource",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "orderComments",
            "in": "query",
            "description": "Order of comments by created date time (default is ascending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "integer",
            "name": "offsetCopiedComments",
            "in": "query",
            "description": "Requested page offset on CopiedComments resource",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "sizeCopiedComments",
            "in": "query",
            "description": "Requested page size of CopiedComments resource",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "orderCopiedComments",
            "in": "query",
            "description": "Order of copied comments by created date time (default is ascending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "HTML format of comment body",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "includeSignedLinks",
            "in": "query",
            "description": "Attachment includes signed links",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "includeFullCopiedCard",
            "in": "query",
            "description": "Attachment includes signed links",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Chat card\nor\nMail card\nor\nShared card\nor\nAppointment card\nor\nDraft card\nor\nTopic shared card",
            "schema": {
              "$ref": "#/definitions/CardBase"
            },
            "x-expectedSchemas": [
              {
                "description": "Chat card",
                "schema": {
                  "$ref": "#/definitions/CardChat"
                }
              },
              {
                "description": "Mail card",
                "schema": {
                  "$ref": "#/definitions/CardMail"
                }
              },
              {
                "description": "Shared card",
                "schema": {
                  "$ref": "#/definitions/CardShared"
                }
              },
              {
                "description": "Appointment card",
                "schema": {
                  "$ref": "#/definitions/CardAppointment"
                }
              },
              {
                "description": "Draft card",
                "schema": {
                  "$ref": "#/definitions/CardDraft"
                }
              },
              {
                "description": "Topic shared card",
                "schema": {
                  "$ref": "#/definitions/CardSharedTopic"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/chat": {
      "options": {
        "tags": [
          "Card"
        ],
        "summary": "Get options for chat card API.",
        "operationId": "Card_GetCardChatOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsCardChat"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Card"
        ],
        "summary": "Create chat card",
        "operationId": "Card_CreateCard",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "cardChat",
            "in": "body",
            "required": true,
            "description": "Card chat object",
            "schema": {
              "$ref": "#/definitions/CardChat"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardChat"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/shared": {
      "options": {
        "tags": [
          "Card"
        ],
        "summary": "Get options for chat card API.",
        "operationId": "Card_GetCardSharedOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsCardChat"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Card"
        ],
        "summary": "Create shared card",
        "operationId": "Card_CreateCardShared",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "cardShared",
            "in": "body",
            "required": true,
            "description": "Card shared object",
            "schema": {
              "$ref": "#/definitions/CardShared"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sourceResourceId",
            "in": "query",
            "description": "Id of mail comment or mail card to create/copy shared card from.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardShared"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/draft": {
      "delete": {
        "tags": [
          "Card"
        ],
        "summary": "Delete draft card",
        "operationId": "Card_DeleteCardDraft",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "cardDraft",
            "in": "body",
            "required": true,
            "description": "Card draft object",
            "schema": {
              "$ref": "#/definitions/CardDraft"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/draft/sendlater": {
      "put": {
        "tags": [
          "Card"
        ],
        "summary": "Send later draft card",
        "operationId": "Card_SendLaterCardDraft",
        "parameters": [
          {
            "type": "string",
            "name": "cardDraftId",
            "in": "query",
            "description": "Card draft id",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "offsetInSeconds",
            "in": "query",
            "description": "send after offset seconds (or set sendDateTime)",
            "format": "int32",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "sendDateTime",
            "in": "query",
            "description": "DateTime when message will be send (or set offserInSeconds)",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "splitCard",
            "in": "query",
            "description": "split card option",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "closeConversation",
            "in": "query",
            "description": "close conversation",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "notBumped",
            "in": "query",
            "description": "not bumped option",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardDraft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/draft/cancelsendlater": {
      "put": {
        "tags": [
          "Card"
        ],
        "summary": "Cancel Send later draft card",
        "operationId": "Card_CancelSendLaterCardDraft",
        "parameters": [
          {
            "type": "string",
            "name": "cardDraftId",
            "in": "query",
            "description": "Card draft id",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardDraft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card": {
      "patch": {
        "tags": [
          "Card"
        ],
        "summary": "Update card.",
        "operationId": "Card_UpdateCard",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "cardBase",
            "in": "body",
            "required": true,
            "description": "Card chat object",
            "schema": {
              "$ref": "#/definitions/CardBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Update Card shared / card chat.",
            "schema": {
              "$ref": "#/definitions/CardBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/list": {
      "options": {
        "tags": [
          "Card"
        ],
        "summary": "Get options for card list API.",
        "operationId": "Card_GetCardListOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsCardList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Card"
        ],
        "summary": "Get card list.",
        "operationId": "Card_GetList",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Order of cards by modified date time (default is descending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "offsetDate",
            "in": "query",
            "description": "Include cards from/since (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateEnd",
            "in": "query",
            "description": "Include cards to/until (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateType",
            "in": "query",
            "description": "Offset date type.",
            "x-schema": {
              "$ref": "#/definitions/OffsetDateType"
            },
            "x-nullable": true,
            "enum": [
              "CreatedDate",
              "ModifiedDate",
              "SystemModifiedDate"
            ]
          },
          {
            "type": "string",
            "name": "offsetModified",
            "in": "query",
            "description": "Include cards from/since (as per requested sort order) its modified date.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetId",
            "in": "query",
            "description": "Id of last recieved card in the previous batch when using offsetModified",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Next page of resources when offsetModified set",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "searchQuery",
            "in": "query",
            "description": "Plain text search query to filter comment list by cards title.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "cardIds",
            "in": "query",
            "description": "List of card ids to filter card list by. Also returns chat cards without comments and/or card snapshots which are hidden otherwise.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "recipientIds",
            "in": "query",
            "description": "List of recipient ids (either a user or a group) to filter comment list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "contactFilterRelation",
            "in": "query",
            "description": "Query relation for contact filters (userIds, groupIds and senderIds). Default is 'or'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "exactShareContactIds",
            "in": "query",
            "description": "List of contact ids (user or group) to filter result list by exact matching of comments's share list.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "tagFilterRelation",
            "in": "query",
            "description": "Query relation for tag/sharedTag filters. Default is 'and'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "tags",
            "in": "query",
            "description": "List of tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "sharedTags",
            "in": "query",
            "description": "List of shared tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "excludeTagFilterRelation",
            "in": "query",
            "description": "Query relation for excludeTag/excludeSharedTag filters. Default is 'and'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "excludeTags",
            "in": "query",
            "description": "List of exclude tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "excludeSharedTags",
            "in": "query",
            "description": "List of exclude shared tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "cardTypes",
            "in": "query",
            "description": "List of card types to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/CardType"
            }
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "HTML format of comment body.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "validTotalCommentSize",
            "in": "query",
            "description": "Comment total size is calculated on get.This setting is only used when cardIds are set.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCardBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Card"
        ],
        "summary": "Get Card search list.",
        "operationId": "Card_GetListByQuery",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "HTML format of comment body.",
            "x-nullable": true
          },
          {
            "name": "query",
            "in": "body",
            "description": "Search query.",
            "schema": {
              "$ref": "#/definitions/SearchQueryConversation"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCardBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/appointment": {
      "post": {
        "tags": [
          "Card"
        ],
        "summary": "Create chat appointment",
        "operationId": "Card_CreateCard2",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "cardAppointment",
            "in": "body",
            "required": true,
            "description": "Card appointment object",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CardAppointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/appointment/list": {
      "get": {
        "tags": [
          "Card"
        ],
        "summary": "Get appointment cards sorted by date time (agenda view).",
        "operationId": "Card_GetAgendaList",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "dateTimeStart",
            "in": "query",
            "description": "Minimum start date time of appointment",
            "format": "date-time",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "dateTimeEnd",
            "in": "query",
            "description": "Maximum end time of appointment (if not defined you get all appointments from dateTimeStart onwards)",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCardAppointment"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/appointment/{id}/response": {
      "put": {
        "tags": [
          "Card"
        ],
        "summary": "Update appointment response for appointment card",
        "operationId": "Card_UpdateAppointmentResponse",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Card id",
            "x-nullable": false
          },
          {
            "name": "appointmentResponse",
            "in": "body",
            "required": true,
            "description": "Appointment response object",
            "schema": {
              "$ref": "#/definitions/AppointmentResponse"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppointmentResponse"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/card/movetoteam/{id}": {
      "put": {
        "tags": [
          "Card"
        ],
        "summary": "Change shared card group share",
        "operationId": "Card_CardMoveToTeamResponse",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Card id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "move to groupId",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Card shared.",
            "schema": {
              "$ref": "#/definitions/CardShared"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/category/{id}": {
      "get": {
        "tags": [
          "Category"
        ],
        "summary": "Get list category for workspace",
        "operationId": "Category_GetWorkspaceClassificationCategories",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "workspace id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Categories"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Category"
        ],
        "summary": "Put category for workspace",
        "operationId": "Category_PutWorkspaceClassificationCategories",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "workspace id",
            "x-nullable": false
          },
          {
            "name": "categories",
            "in": "body",
            "required": true,
            "description": "categories",
            "schema": {
              "$ref": "#/definitions/Categories"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Categories"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/category/{id}/{category}/{categoryInstanceId}/list": {
      "get": {
        "tags": [
          "Category"
        ],
        "summary": "get shared category tags for workspace",
        "operationId": "Category_GetCategoryTags",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "workspace id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "category",
            "in": "path",
            "required": true,
            "description": "category type",
            "x-schema": {
              "$ref": "#/definitions/CategoryEnum"
            },
            "x-nullable": false,
            "enum": [
              "Content",
              "Customer",
              "Project"
            ]
          },
          {
            "type": "integer",
            "name": "categoryInstanceId",
            "in": "path",
            "required": true,
            "description": "category type instance id",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "size of tags",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "historyId",
            "in": "query",
            "description": "next page cursor",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "searchText",
            "in": "query",
            "description": "query search text",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "sortBy",
            "in": "query",
            "description": "Sort by default ModifiedDate, allowed also Name sort - Name sort is used when query searchText",
            "x-schema": {
              "$ref": "#/definitions/SortBy"
            },
            "default": "ModifiedDate",
            "x-nullable": false,
            "enum": [
              "Name",
              "CreatedDate",
              "ModifiedDate",
              "MostUsed",
              "Size"
            ]
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "sort order default ascending",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "default": "Ascending",
            "x-nullable": false,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "boolean",
            "name": "readConsistency",
            "in": "query",
            "description": "read consistency",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfSharedTagCategory"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/category/icons": {
      "get": {
        "tags": [
          "Category"
        ],
        "summary": "Get list category for workspace",
        "operationId": "Category_GetWorkspaceCategoryIconList",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Icon"
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/command": {
      "post": {
        "tags": [
          "Command"
        ],
        "summary": "Create comment on chat or shared card.",
        "operationId": "Command_RunCommand",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "command",
            "in": "body",
            "required": true,
            "description": "command",
            "schema": {
              "$ref": "#/definitions/CommandBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace ID header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "command",
            "schema": {
              "$ref": "#/definitions/CommandResponseBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/{id}": {
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get comment by id.",
        "operationId": "Comment_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Comment id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "Html format of comment body",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Comment on mail card.\nor\nComment on chat card\nor\nTemplate\nor\nDraft",
            "schema": {
              "$ref": "#/definitions/CommentBase"
            },
            "x-expectedSchemas": [
              {
                "description": "Comment on mail card.",
                "schema": {
                  "$ref": "#/definitions/CommentMail"
                }
              },
              {
                "description": "Comment on chat card",
                "schema": {
                  "$ref": "#/definitions/CommentChat"
                }
              },
              {
                "description": "Template",
                "schema": {
                  "$ref": "#/definitions/CommentTemplate"
                }
              },
              {
                "description": "Draft",
                "schema": {
                  "$ref": "#/definitions/CommentDraft"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "503": {
            "x-nullable": false,
            "description": "Requested resource unavailable at the moment. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/{id}/preview": {
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get comment by id.",
        "operationId": "Comment_GetCommentPreview",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Comment id",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "useRawHtml",
            "in": "query",
            "description": "Use raw html or use sanitized html. Default is to use sanitized html in preview",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CommentPreview"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/{id}/eml": {
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get comment eml by id.",
        "operationId": "Comment_GetCommentEml",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Comment id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "\nor\nRequested resource not found.",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "",
                "schema": {
                  "$ref": "#/definitions/Void"
                }
              },
              {
                "description": "Requested resource not found.",
                "schema": {
                  "$ref": "#/definitions/Response"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/list": {
      "options": {
        "tags": [
          "Comment"
        ],
        "summary": "Get options for comment list API.",
        "operationId": "Comment_GetCommentListOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsCommentList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get list of comments.",
        "operationId": "Comment_GetList",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Order of comments by modified date time (default is descending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "offsetDate",
            "in": "query",
            "description": "Include cards from/since (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateEnd",
            "in": "query",
            "description": "Include cards to/until (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateType",
            "in": "query",
            "description": "Offset date type.",
            "x-schema": {
              "$ref": "#/definitions/OffsetDateType"
            },
            "x-nullable": true,
            "enum": [
              "CreatedDate",
              "ModifiedDate",
              "SystemModifiedDate"
            ]
          },
          {
            "type": "string",
            "name": "offsetModified",
            "in": "query",
            "description": "Include comments from/since (as per requested sort order) its modified date.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetId",
            "in": "query",
            "description": "Id of last recieved comment in the previous batch when using offsetModified",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Next page of resources when offsetModified set",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "commentIds",
            "in": "query",
            "description": "List of comment ids to filter comment list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "cardIds",
            "in": "query",
            "description": "List of card ids to filter comment list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "authorizeCardIdsBeforeSearch",
            "in": "query",
            "description": "Do authorize card ids before search.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "searchQuery",
            "in": "query",
            "description": "Plaintext search query to filter comment list by. Please use prefix 'To:' or 'From:' in order to filter by recipient oy by sender.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "groupComment",
            "in": "query",
            "description": "comment is in group",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "recipientIds",
            "in": "query",
            "description": "List of recipient ids (either a user or a group) to filter comment list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "senderIds",
            "in": "query",
            "description": "List of user ids as senders (From) to filter comment list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "mutedIds",
            "in": "query",
            "description": "List of muted user/group ids for muted logic comment list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "shouldIncludeMutedIds",
            "in": "query",
            "description": "List focused/muted comment list",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "contactFilterRelation",
            "in": "query",
            "description": "Query relation for contact filters (userIds, groupIds and senderIds). Default is 'or'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "exactShareContactIds",
            "in": "query",
            "description": "List of contact ids (user or group) to filter result list by exact matching of comments's share list.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "tagFilterRelation",
            "in": "query",
            "description": "Query relation for tag/sharedTag filters. Default is 'and'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "tags",
            "in": "query",
            "description": "List of tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "sharedTags",
            "in": "query",
            "description": "List of shared tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "excludeTagFilterRelation",
            "in": "query",
            "description": "Query relation for excludeTag/excludeSharedTag filters. Default is 'and'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "excludeTags",
            "in": "query",
            "description": "List of exclude tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "excludeSharedTags",
            "in": "query",
            "description": "List of exclude shared tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "cardTypes",
            "in": "query",
            "description": "List of card types to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/CardType"
            }
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "Html format of comment body.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "returnFormat",
            "in": "query",
            "description": "Return format temporary - small is return only id",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "includeSignedLinks",
            "in": "query",
            "description": "Include signed links for attachments",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCommentBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/card": {
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get list of comments of specific card.",
        "operationId": "Comment_GetCardComments",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Order of comments by modified date time (default is descending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Next page of resources when offsetModified set",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "cardId",
            "in": "query",
            "description": "comment for card id.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "Html format of comment body.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "returnFormat",
            "in": "query",
            "description": "Return format temporary - small is return only id",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCommentBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/conversation": {
      "options": {
        "tags": [
          "Comment"
        ],
        "summary": "Get options for comment list API.",
        "operationId": "Comment_GetCommentConversationOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsCommentList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get list of comments.",
        "operationId": "Comment_GetConversationComments",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Order of comments by modified date time (default is descending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Next page of resources when offsetModified set",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "conversationId",
            "in": "query",
            "description": "comment for conversation id.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "appendQuoteComment",
            "in": "query",
            "description": "Get quoted comment in additional list",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "array",
            "name": "additionalComments",
            "in": "query",
            "description": "Additional comments",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "draftCardIds",
            "in": "query",
            "description": "Get draft comments in additional list",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "appointmentCardId",
            "in": "query",
            "description": "Get additiona appointment card - deprecated",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "aroundCommentId",
            "in": "query",
            "description": "Get comments around specific comment id",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "sizeBefore",
            "in": "query",
            "description": "Number of comments before aroundCommentId",
            "format": "int32",
            "default": 3,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CommentList"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/mail": {
      "post": {
        "tags": [
          "Comment"
        ],
        "summary": "Create comment on email card.",
        "operationId": "Comment_CreateCommentMail",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentMail",
            "in": "body",
            "required": true,
            "description": "Comment mail object",
            "schema": {
              "$ref": "#/definitions/CommentMail"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "customCreateDateTime",
            "in": "query",
            "description": "Custom created datetime",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "Requested html format of comment body for create response.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "ignoreEmailHistory",
            "in": "query",
            "description": "Flag indicating whether or not server should append email history when sending email or not. Default is false.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "skipBbCodeEscaping",
            "in": "query",
            "description": "Indicator whether or not to skip BBCode escaping. Use it wisely.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "doNotSendEmail",
            "in": "query",
            "description": "Do not send email, only valid for users with elevated permissions",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "doNotModifyDeleteArchiveFlag",
            "in": "query",
            "description": "Do not modify delete archive flag on card",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "doNotUseInternalSend",
            "in": "query",
            "description": "Do not use internal send",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "closeConversation",
            "in": "query",
            "description": "Close mail conversation",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sendAs",
            "in": "query",
            "description": "Email address of the user you want to send as",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "Id of the group where mail will be looped into when successfully send. SendAs user must be member of that group.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "draftId",
            "in": "query",
            "description": "Comment mail created from draft id",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "CommentMail",
            "schema": {
              "$ref": "#/definitions/CommentMail"
            }
          },
          "204": {
            "description": "CommentMail is null, sending as sendas"
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/chat": {
      "options": {
        "tags": [
          "Comment"
        ],
        "summary": "Get options for chat comment API.",
        "operationId": "Comment_GetCommentChatOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsCommentChat"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Comment"
        ],
        "summary": "Create comment on chat or shared card.",
        "operationId": "Comment_CreateCommentChat",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentChat",
            "in": "body",
            "required": true,
            "description": "Comment chat object",
            "schema": {
              "$ref": "#/definitions/CommentChat"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "customCreateDateTime",
            "in": "query",
            "description": "Custom created datetime",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "sourceResourceId",
            "in": "query",
            "description": "Id of mail comment or mail card to create/copy shared card from.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "skipBbCodeEscaping",
            "in": "query",
            "description": "Indicator whether or not to skip BBCode escaping. Use it wisely.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "doNotSendEmail",
            "in": "query",
            "description": "Do not send email, only valid for users with elevated permissions",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "doNotModifyDeleteArchiveFlag",
            "in": "query",
            "description": "Do not modify delete archive flag on card",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "array",
            "name": "setUnreadOnlyFor",
            "in": "query",
            "description": "List of user ids for which unreads should be set. All other users will not have unread set.\n            If null, all eligible users have unread set.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "setUnreadExceptFor",
            "in": "query",
            "description": "List of user ids for which unreads should not be set.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "includeSenderInUnreadList",
            "in": "query",
            "description": "Add creator in logic that set unread flag.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "CommentChat",
            "schema": {
              "$ref": "#/definitions/CommentChat"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "JSON",
            "source": "{\n  \"$type\": \"CommentChat\",\n  \"parent\": {\n    \"id\": \"ArjI6iWYQYiQ3k-ykDGA4zPljQ0T\",\n    \"$type\": \"CardChat\"\n  },\n  \"comment\": \"This is an example\"\n}"
          }
        ]
      },
      "put": {
        "tags": [
          "Comment"
        ],
        "summary": "Update comment chat",
        "operationId": "Comment_UpdateChat",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentChat",
            "in": "body",
            "required": true,
            "description": "Comment chat object",
            "schema": {
              "$ref": "#/definitions/CommentChat"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "customCreateDateTime",
            "in": "query",
            "description": "Custom created datetime",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "skipBbCodeEscaping",
            "in": "query",
            "description": "Indicator whether or not to skip BBCode escaping. Use it wisely.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "CommentChat",
            "schema": {
              "$ref": "#/definitions/CommentChat"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/template": {
      "post": {
        "tags": [
          "Comment"
        ],
        "summary": "Create template on group or personal context",
        "operationId": "Comment_CreateTemplateResponse",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentTemplate",
            "in": "body",
            "required": true,
            "description": "Comment chat object",
            "schema": {
              "$ref": "#/definitions/CommentTemplate"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "customCreateDateTime",
            "in": "query",
            "description": "Custom created datetime",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "skipBbCodeEscaping",
            "in": "query",
            "description": "Indicator whether or not to skip BBCode escaping. Use it wisely.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "CommentTemplate",
            "schema": {
              "$ref": "#/definitions/CommentTemplate"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Comment"
        ],
        "summary": "Update comment template",
        "operationId": "Comment_UpdateTemplate",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentTemplate",
            "in": "body",
            "required": true,
            "description": "Comment chat object",
            "schema": {
              "$ref": "#/definitions/CommentTemplate"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "customCreateDateTime",
            "in": "query",
            "description": "Custom created datetime",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "skipBbCodeEscaping",
            "in": "query",
            "description": "Indicator whether or not to skip BBCode escaping. Use it wisely.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "CommentTemplate",
            "schema": {
              "$ref": "#/definitions/CommentTemplate"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/draft": {
      "post": {
        "tags": [
          "Comment"
        ],
        "summary": "Create draft",
        "operationId": "Comment_CreateDraftResponse",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentDraft",
            "in": "body",
            "required": true,
            "description": "Comment draft object",
            "schema": {
              "$ref": "#/definitions/CommentDraft"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "draftOnCardId",
            "in": "query",
            "description": "Comment draft reply on card object",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "isShared",
            "in": "query",
            "description": "Comment draft object",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeClientId",
            "in": "query",
            "description": "include client id for attachments",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "CommentDraft",
            "schema": {
              "$ref": "#/definitions/CommentDraft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Comment"
        ],
        "summary": "Create draft",
        "operationId": "Comment_UpdateDraftResponse",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentDraft",
            "in": "body",
            "required": true,
            "description": "Comment draft object",
            "schema": {
              "$ref": "#/definitions/CommentDraft"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeClientId",
            "in": "query",
            "description": "include client id for attachments",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "forceUpdateCommentSnippet",
            "in": "query",
            "description": "force update comment snippet",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "CommentDraft",
            "schema": {
              "$ref": "#/definitions/CommentDraft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/comment/outofoffice": {
      "put": {
        "tags": [
          "Comment"
        ],
        "summary": "Create/update out of office template",
        "operationId": "Comment_UpdateOutOfOfficeCommentResponse",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentOutOfOffice",
            "in": "body",
            "required": true,
            "description": "Comment draft object",
            "schema": {
              "$ref": "#/definitions/CommentOutOfOffice"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "CommentOutOfOffice",
            "schema": {
              "$ref": "#/definitions/CommentOutOfOffice"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get out of office template",
        "operationId": "Comment_GetOutOfOfficeCommentResponse",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "CommentOutOfOffice",
            "schema": {
              "$ref": "#/definitions/CommentOutOfOffice"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/company/list": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "List companies in the workspace, optionally filtered by a name/domain search text.",
        "operationId": "Company_GetList",
        "parameters": [
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "format": "int32",
            "default": 50,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "searchText",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfCompany"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/company/{companyId}": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Get a company by ID. Pass with=profileCount to also return how many visible profiles are linked\nto it.",
        "operationId": "Company_Get",
        "parameters": [
          {
            "type": "string",
            "name": "companyId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "array",
            "name": "with",
            "in": "query",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Company"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Company"
        ],
        "summary": "Delete a company. Sets company_id = null on every linked profile; never deletes profiles or\nconversations (company-profiles-spec.md rule 11).",
        "operationId": "Company_Delete",
        "parameters": [
          {
            "type": "string",
            "name": "companyId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/company": {
      "post": {
        "tags": [
          "Company"
        ],
        "summary": "Create a company. Name is required; Id must be null.",
        "operationId": "Company_Create",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "company",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Company"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Company"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Company"
        ],
        "summary": "Update a company's Name/Logo/Description/ExternalId. Domains are managed via the domain\nendpoints below.",
        "operationId": "Company_Update",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "company",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Company"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Company"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/company/{companyId}/domain": {
      "post": {
        "tags": [
          "Company"
        ],
        "summary": "Add a domain to a company. Rejected if the domain already belongs to another company (naming\nit) or is a free-mail provider. Triggers the async domain auto-association job.",
        "operationId": "Company_AddDomain",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "companyId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CompanyDomainRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CompanyDomainUpdateResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "422": {
            "x-nullable": false,
            "description": "Unprocessable Content - points to logical or data validation problems.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Company"
        ],
        "summary": "Remove a domain from a company. Unlinks profiles that were auto-associated only via this\ndomain; manually pinned profiles and profiles matched via a remaining domain stay linked.",
        "operationId": "Company_RemoveDomain",
        "parameters": [
          {
            "type": "string",
            "name": "companyId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "domain",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CompanyDomainUpdateResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/company/{companyId}/avatar": {
      "put": {
        "tags": [
          "Company"
        ],
        "summary": "Update a company's avatar. Company data is workspace-shared, so only workspace admins/owners\nmay set it (company-profiles-spec.md rule 8).",
        "operationId": "Company_UpdateCompanyAvatar",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "companyId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/company/{companyId}/avatarsignedlink": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Get a company's avatar signed link. Company avatars are public to every workspace member. Falls\nback to an initials avatar generated from the company name when no avatar has been set.",
        "operationId": "Company_GetCompanyAvatarSignedLink",
        "parameters": [
          {
            "type": "string",
            "name": "companyId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/contact/list": {
      "options": {
        "tags": [
          "Contact"
        ],
        "summary": "Get options for contact list API.",
        "operationId": "Contact_GetContactListOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsContactList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Contact"
        ],
        "summary": "Get contact list.",
        "operationId": "Contact_GetList",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "offsetDate",
            "in": "query",
            "description": "Include cards from/since (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateEnd",
            "in": "query",
            "description": "Include cards to/until (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateType",
            "in": "query",
            "description": "Offset date type.",
            "x-schema": {
              "$ref": "#/definitions/OffsetDateType"
            },
            "x-nullable": true,
            "enum": [
              "CreatedDate",
              "ModifiedDate",
              "SystemModifiedDate"
            ]
          },
          {
            "type": "string",
            "name": "offsetModified",
            "in": "query",
            "description": "Include contacts from/since (as per requested sort order) its modified date.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetCreated",
            "in": "query",
            "description": "Include contacts from/since (as per requested sort order) its created date.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetId",
            "in": "query",
            "description": "Id of last recieved contact in the previous batch when using offsetModified or offsetCreated",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Next page of resources when offsetModified set",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "searchQuery",
            "in": "query",
            "description": "Plain text search query to filter contact list by.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "contactIds",
            "in": "query",
            "description": "List of contact ids to filter contact list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "excludeContactIds",
            "in": "query",
            "description": "List of contact ids to exclude from list.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "get contact from group",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "tagFilterRelation",
            "in": "query",
            "description": "Query relation for tag filters. Default is 'and'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "tags",
            "in": "query",
            "description": "List of tags to filter contact list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "excludeTagFilterRelation",
            "in": "query",
            "description": "Query relation for excludeTag filters. Default is 'and'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "excludeTags",
            "in": "query",
            "description": "List of exclude tags to filter contact list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "showHidden",
            "in": "query",
            "description": "flag to filter hidden contacts",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "contactSortOrder",
            "in": "query",
            "description": "Order of contact sorting (default is by weight).",
            "x-schema": {
              "$ref": "#/definitions/ContactSortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Weight",
              "ModifiedDate",
              "CreatedDate"
            ]
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Order of contacts by contact sort parameter (default is descending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "array",
            "name": "contactTypes",
            "in": "query",
            "description": "List of contact types.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/ContactType"
            }
          },
          {
            "type": "array",
            "name": "subContactTypes",
            "in": "query",
            "description": "List of group types, applicable only when getting group contacts.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/GroupType"
            }
          },
          {
            "type": "array",
            "name": "subGroupTypes",
            "in": "query",
            "description": "List of group sub types, applicable only when getting group contacts.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/GroupSubType"
            }
          },
          {
            "type": "array",
            "name": "userTypes",
            "in": "query",
            "description": "User types filter",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/UserType"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfContactBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/contact/getbyids": {
      "options": {
        "tags": [
          "Contact"
        ],
        "summary": "Get options for contact list API get by ids.",
        "operationId": "Contact_GetContactGetByIdsOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsContactList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Contact"
        ],
        "summary": "Get contact list.",
        "operationId": "Contact_MultipleGet",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "contactIds",
            "in": "body",
            "description": "List of contact ids to filter contact list by.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactIdRequest"
              }
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfContactBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/contact/workspace": {
      "options": {
        "tags": [
          "Contact"
        ],
        "summary": "Get options for contact list API.",
        "operationId": "Contact_GetContactWorkspaceOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsContactList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Contact"
        ],
        "summary": "Get workspace contact list.",
        "operationId": "Contact_GetWorkspaceContacts",
        "parameters": [
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "searchQuery",
            "in": "query",
            "description": "Plain text search query to filter contact list by.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "explicitContactId",
            "in": "query",
            "description": "return contact on first position",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "excludeContactIds",
            "in": "query",
            "description": "List of contact ids to exclude from list.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "workspaceId",
            "in": "query",
            "description": "workspace id to get contacts from, if not provided, primary subscription will be used",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "includeMemberTypes",
            "in": "query",
            "description": "List of subscription member types to include users from.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/SubscriptionMemberType"
            }
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "loopWorkspaceId",
            "in": "header",
            "description": "Workspace id header, used when workspaceId is not provided.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfContactBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/contact/workspacelist": {
      "get": {
        "tags": [
          "Contact"
        ],
        "summary": "Get contacts workspace.",
        "operationId": "Contact_GetWorkspaceList",
        "parameters": [
          {
            "type": "string",
            "name": "workspaceId",
            "in": "query",
            "description": "workspace id",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "loopWorkspaceId",
            "in": "header",
            "description": "Workspace id header, used when workspaceId is not provided.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/contact/hide/{userId}": {
      "put": {
        "tags": [
          "Contact"
        ],
        "summary": "Set hidden flag on contact.",
        "operationId": "Contact_HideUserContact",
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "user id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/contact/show/{userId}": {
      "put": {
        "tags": [
          "Contact"
        ],
        "summary": "Unset hidden flag on contact.",
        "operationId": "Contact_ShowUserContact",
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "user id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/conversation/list": {
      "options": {
        "tags": [
          "Conversation"
        ],
        "summary": "Get options for conversation list API.",
        "operationId": "Conversation_GetSearchOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsSearch"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Conversation"
        ],
        "summary": "Get Conversation search list.",
        "operationId": "Conversation_GetList",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "boolean",
            "name": "isCommunityAdminRequest",
            "in": "query",
            "description": "Community admin request.",
            "default": false,
            "x-nullable": false
          },
          {
            "name": "query",
            "in": "body",
            "description": "Search query.",
            "schema": {
              "$ref": "#/definitions/SearchQueryConversation"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfConversation"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/conversation/get": {
      "post": {
        "tags": [
          "Conversation"
        ],
        "summary": "Get Conversation list.",
        "operationId": "Conversation_GetList2",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "conversationIds",
            "in": "body",
            "required": true,
            "description": "Get converstation ids.",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfString"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeAttachmentSignedLinks",
            "in": "query",
            "description": "Include signed links",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfConversation"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/conversation/action/list": {
      "post": {
        "tags": [
          "Conversation"
        ],
        "summary": "Apply action on conversation list",
        "operationId": "Conversation_UpdateConversationActionList",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "boolean",
            "name": "forceAction",
            "in": "query",
            "description": "Only super user can force action (for all user)",
            "default": false,
            "x-nullable": false
          },
          {
            "name": "updateRequest",
            "in": "body",
            "description": "Conversation list update request.",
            "schema": {
              "$ref": "#/definitions/UpdateRequestBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/current": {
      "get": {
        "tags": [
          "Current"
        ],
        "summary": "Get all data for current user.",
        "operationId": "Current_GetCurrentData",
        "parameters": [
          {
            "type": "boolean",
            "name": "getSettings",
            "in": "query",
            "description": "get user settings",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "getScopeSettings",
            "in": "query",
            "description": "get scope settings",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "getSyncSettings",
            "in": "query",
            "description": "get sync settings",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "getLicense",
            "in": "query",
            "description": "get top license",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "workspaceId",
            "in": "query",
            "description": "workspace id. If not provided, top license for the user will be retrieved",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "loopWorkspaceId",
            "in": "header",
            "description": "Workspace id header, used when workspaceId is not provided",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Current"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/device": {
      "post": {
        "tags": [
          "Device"
        ],
        "summary": "Register mobile device.",
        "operationId": "Device_RegisterDevice",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "device",
            "in": "body",
            "required": true,
            "description": "Device object",
            "schema": {
              "$ref": "#/definitions/Device"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "removeOther",
            "in": "query",
            "description": "Remove all other devices for user",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Device"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/device/{id}": {
      "put": {
        "tags": [
          "Device"
        ],
        "summary": "Update mobile device.",
        "operationId": "Device_UpdateDevice",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Device id",
            "x-nullable": false
          },
          {
            "name": "device",
            "in": "body",
            "required": true,
            "description": "Device object",
            "schema": {
              "$ref": "#/definitions/Device"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Device"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get mobile device.",
        "operationId": "Device_GetDevice",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Device id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Device"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Device"
        ],
        "summary": "Get mobile device.",
        "operationId": "Device_UnregisterDevice",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Device id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/event/event": {
      "post": {
        "tags": [
          "Event"
        ],
        "summary": "Create event base",
        "operationId": "Event_CreateEvent",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "eventBase",
            "in": "body",
            "required": true,
            "description": "Event base object",
            "schema": {
              "$ref": "#/definitions/EventBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/event/conversations": {
      "options": {
        "tags": [
          "Event"
        ],
        "summary": "Get options for event API.",
        "operationId": "Event_GetConversationsOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsEventList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Event"
        ],
        "summary": "Get event list.",
        "operationId": "Event_GetConversationsEvent",
        "parameters": [
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "historyId",
            "in": "query",
            "description": "events greater than historyId(that is, more recent than)",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "maxChanges",
            "in": "query",
            "description": "if set request can return not found status and error code invalididsince if changes are greater than value specified",
            "format": "int32",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "skipConversationTypeList",
            "in": "query",
            "description": "Card types of conversation events to skip (currently only \"CardAppointment\" is supported)",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/CardType"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ConversationEventList"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file": {
      "post": {
        "tags": [
          "File"
        ],
        "summary": "Upload file.",
        "operationId": "File_CreateFile",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "description": "File object",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "includeSignedLink",
            "in": "query",
            "description": "Set url signed link",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/File"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/{id}": {
      "put": {
        "tags": [
          "File"
        ],
        "summary": "Upload file.",
        "operationId": "File_UpdateFileProper",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id of file",
            "x-nullable": false
          },
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "description": "File object",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "includeSignedLink",
            "in": "query",
            "description": "Set url signed link",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "forceUpdateComment",
            "in": "query",
            "description": "Force update comment (snippet, revision)",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/File"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get file metadata",
        "operationId": "File_GetFile",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeSignedLink",
            "in": "query",
            "description": "Set url signed link",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/File"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/user": {
      "post": {
        "tags": [
          "File"
        ],
        "summary": "Upload file.",
        "operationId": "File_CreateUserFile",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "description": "File object",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/File"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/user/{id}": {
      "delete": {
        "tags": [
          "File"
        ],
        "summary": "Upload file.",
        "operationId": "File_DeleteUserFile",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id to delete",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/{id}/content": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get file content",
        "operationId": "File_GetFileContent",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/signedlinkcontent": {
      "post": {
        "tags": [
          "File"
        ],
        "summary": "Get signed link content",
        "operationId": "File_GetSignedLinkContent",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "contentSignedLink",
            "in": "body",
            "required": true,
            "description": "Content signed link",
            "schema": {
              "$ref": "#/definitions/ContentSignedLink"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/{id}/signedlink": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get file content",
        "operationId": "File_GetFileSignedLink",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/convertattachmentstotemp": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Convert file attachment to temp file attachment",
        "operationId": "File_ConvertFileAttachmentToTempAttachmentGET",
        "parameters": [
          {
            "type": "array",
            "name": "fileAttachmentIds",
            "in": "query",
            "description": "list attachment to convert - it start with AF_",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ConvertedAttachments"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "File"
        ],
        "summary": "Convert file attachment to temp file attachment",
        "operationId": "File_ConvertFileAttachmentToTempAttachmentPOST",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "bodyFileAttachmentIds",
            "in": "body",
            "description": "list attachment to convert - it start with AF_",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfString"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ConvertedAttachments"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/{id}/pdf": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get file content converted to pdf format.",
        "operationId": "File_GetFilePdf",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "503": {
            "x-nullable": false,
            "description": "Requested resource unavailable at the moment. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/{id}/thumbnail": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get file thumbnail.",
        "operationId": "File_GetFileThumbnail",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "thumbnailSize",
            "in": "query",
            "description": "Thumbnail size, values: Small, and Medium (default).",
            "default": "Medium",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "503": {
            "x-nullable": false,
            "description": "Requested resource unavailable at the moment. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/{id}/thumbnailsignedlink": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get file thumbnail.",
        "operationId": "File_GetThumbnailSignedLink",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "thumbnailSize",
            "in": "query",
            "description": "Thumbnail size, values: Small, and Medium (default).",
            "default": "Medium",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "503": {
            "x-nullable": false,
            "description": "Requested resource unavailable at the moment. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/{id}/pdfsignedlink": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get file pdf thumbnail.",
        "operationId": "File_GetPdfThumbnailSignedLink",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "503": {
            "x-nullable": false,
            "description": "Requested resource unavailable at the moment. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/file/list": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Get list of files.",
        "operationId": "File_GetList",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Order of comments by modified date time (default is descending).",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "x-nullable": true,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "offsetDate",
            "in": "query",
            "description": "Include cards from/since (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateEnd",
            "in": "query",
            "description": "Include cards to/until (as per requested sort order) its offset date type.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetDateType",
            "in": "query",
            "description": "Offset date type.",
            "x-schema": {
              "$ref": "#/definitions/OffsetDateType"
            },
            "x-nullable": true,
            "enum": [
              "CreatedDate",
              "ModifiedDate",
              "SystemModifiedDate"
            ]
          },
          {
            "type": "string",
            "name": "offsetModified",
            "in": "query",
            "description": "Include files from/sice (as per requested sort order) its modified date.",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetId",
            "in": "query",
            "description": "Id of last recieved file in the previous batch when using offsetModified",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Next page of resources when offsetModified set",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "searchQuery",
            "in": "query",
            "description": "Plaintext search query to filter file list by. Please use prefix 'To:' or 'From:' in order to filter by recipient oy by sender.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "groupFile",
            "in": "query",
            "description": "file is in group",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "recipientIds",
            "in": "query",
            "description": "List of recipient ids (either a user or a group) to filter file list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "senderIds",
            "in": "query",
            "description": "List of user ids as senders (From) to filter comment list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "contactFilterRelation",
            "in": "query",
            "description": "Query relation for contact filters (userIds, groupIds and senderIds). Default is 'or'.",
            "x-schema": {
              "$ref": "#/definitions/QueryRelation"
            },
            "x-nullable": true,
            "enum": [
              "Or",
              "And",
              "OrNot",
              "AndNot"
            ]
          },
          {
            "type": "array",
            "name": "exactShareContactIds",
            "in": "query",
            "description": "List of contact ids (user or group) to filter result list by exact matching of comments's share list.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "cardTypes",
            "in": "query",
            "description": "List of card types to filter file list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/CardType"
            }
          },
          {
            "type": "boolean",
            "name": "includeSignedLinks",
            "in": "query",
            "description": "Includes signed links for file/thumbnail",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "companyId",
            "in": "query",
            "description": "Company id to filter file list by. Users of the company profiles are added as recipients.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "List of files.",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfFile"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group/sharedinbox": {
      "post": {
        "tags": [
          "Group"
        ],
        "summary": "Create shared inbox.",
        "operationId": "Group_CreateSharedInbox",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "sharedInbox",
            "in": "body",
            "required": true,
            "description": "SharedInboxRequest object",
            "schema": {
              "$ref": "#/definitions/SharedInboxRequest"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "getGroupByCreator",
            "in": "query",
            "description": "Return group requsted by creator",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace id header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group": {
      "post": {
        "tags": [
          "Group"
        ],
        "summary": "Create group.",
        "operationId": "Group_CreateGroup",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "group",
            "in": "body",
            "required": true,
            "description": "Group object",
            "schema": {
              "$ref": "#/definitions/Group"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace id header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group/{groupId}": {
      "get": {
        "tags": [
          "Group"
        ],
        "summary": "Get group.",
        "operationId": "Group_GetGroup",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Group"
        ],
        "summary": "Update group.",
        "operationId": "Group_UpdateGroup",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "name": "group",
            "in": "body",
            "required": true,
            "description": "Group object",
            "schema": {
              "$ref": "#/definitions/Group"
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "doNotAddSystemMessage",
            "in": "query",
            "description": "Setting that chooses whether to add system message when adding/removing users in group or not",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "204": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Group"
        ],
        "summary": "Delete group.",
        "operationId": "Group_DeleteGroup",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group/list": {
      "get": {
        "tags": [
          "Group"
        ],
        "summary": "Get list of groups",
        "operationId": "Group_GetListOfGroups",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "searchQuery",
            "in": "query",
            "description": "Plaintext search query to filter list of groups by.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "tags",
            "in": "query",
            "description": "List of tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "ListOfResources<Group>",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfGroup"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group/{groupId}/avatar": {
      "get": {
        "tags": [
          "Group"
        ],
        "summary": "Get group avatar",
        "operationId": "Group_GetGroupAvatar",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "imageSize",
            "in": "query",
            "description": "Avatar size (all avatars are square - one dimension is enough, default is 256)",
            "format": "int32",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Group"
        ],
        "summary": "Update group avatar",
        "operationId": "Group_UpdateGroupAvatar",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "description": "Avatar object",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group/{groupId}/avatarsignedlink": {
      "get": {
        "tags": [
          "Group"
        ],
        "summary": "Get group avatar signed link.",
        "operationId": "Group_GetUserAvatarSignedLink",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group/{groupId}/subscribe": {
      "put": {
        "tags": [
          "Group"
        ],
        "summary": "Group subscribe",
        "operationId": "Group_GroupSubscribe",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Group"
        ],
        "summary": "Group subscribe",
        "operationId": "Group_GroupUnSubscribe",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/group/{groupId}/setcolour": {
      "put": {
        "tags": [
          "Group"
        ],
        "summary": "Group set colour",
        "operationId": "Group_GroupSetColour",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "Group id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "colour",
            "in": "query",
            "description": "Group colour",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/enums": {
      "get": {
        "tags": [
          "Helper"
        ],
        "summary": "Get list of all enums.",
        "operationId": "Helper_GetListOfEnums",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/enums/{id}": {
      "get": {
        "tags": [
          "Helper"
        ],
        "summary": "Get enum values.",
        "operationId": "Helper_GetEnum",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Enum id",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n\nor\n",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/TagType"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/ErrorCode"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/DeviceType"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/EventVersion"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/ResponseTypeModel"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/ThumbnailSize"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/SortOrder"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/UserStatus"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/EventType"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/QueryRelation"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/AuthType"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/AccountType"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/EmailServiceType"
                  }
                }
              },
              {
                "description": "",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/SharedTagSystemNames"
                  }
                }
              }
            ]
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/emailType/{emailAddress}": {
      "get": {
        "tags": [
          "Helper"
        ],
        "summary": "Get email type based on email address",
        "operationId": "Helper_GetEmailType",
        "parameters": [
          {
            "type": "string",
            "name": "emailAddress",
            "in": "path",
            "required": true,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/EmailType"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/integrations": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Get integrations by user",
        "operationId": "Integrations_GetIntegrationList",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfIntegration"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Upsert integration",
        "operationId": "Integrations_UpsertIntegration",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "integration",
            "in": "body",
            "required": true,
            "description": "Integration object.",
            "schema": {
              "$ref": "#/definitions/Integration"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Integration"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/integrations/id": {
      "delete": {
        "tags": [
          "Integrations"
        ],
        "summary": "Delete integration by id",
        "operationId": "Integrations_DeleteIntegration",
        "parameters": [
          {
            "type": "string",
            "name": "integrationId",
            "in": "query",
            "description": "Impersonation header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/notification": {
      "post": {
        "tags": [
          "Notification"
        ],
        "summary": "Create notification.",
        "operationId": "Notification_CreateNotification",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "notification",
            "in": "body",
            "required": true,
            "description": "Notification resource",
            "schema": {
              "$ref": "#/definitions/NotificationBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "202": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/list": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get profile list for a context.",
        "operationId": "Profile_GetList",
        "parameters": [
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Page size.",
            "format": "int32",
            "default": 50,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Page offsetId.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "searchText",
            "in": "query",
            "description": "Search text to filter profiles by.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "isPublic",
            "in": "query",
            "description": "IsPublic filter",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "getWorkspaceUsers",
            "in": "query",
            "description": "Search only for workspace users if true, otherwise search all.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "identificatorIds",
            "in": "query",
            "description": "List of contact ids to filter profiles by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "excludeIdentificatorIds",
            "in": "query",
            "description": "List of identificator ids to exclude from results.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "excludeProfileIds",
            "in": "query",
            "description": "List of profile ids to exclude from results.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "Restrict results to profiles with at least one identificator belonging to a member of this group.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "companyIds",
            "in": "query",
            "description": "List of company ids to filter profiles by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "companyIsLinked",
            "in": "query",
            "description": "When true, restrict results to profiles linked to a company; when false, restrict to profiles with no company linked.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "userTypes",
            "in": "query",
            "description": "List of user types to filter profiles by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/UserType"
            }
          },
          {
            "type": "string",
            "name": "profileSortOrder",
            "in": "query",
            "description": "Sort order for profiles.",
            "x-schema": {
              "$ref": "#/definitions/ProfileSortOrderBy"
            },
            "default": "SearchScore",
            "x-nullable": false,
            "enum": [
              "Name",
              "SearchScore",
              "Weight",
              "ModifiedDate",
              "CreatedDate"
            ]
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Sort order direction.",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "default": "Descending",
            "x-nullable": false,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Optional workspace ID to filter profiles.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfProfileUserSearch"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/count": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get number of profiles.",
        "operationId": "Profile_GetProfileCount",
        "parameters": [
          {
            "type": "string",
            "name": "companyId",
            "in": "query",
            "description": "specify company id if you want to filter by company.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace ID.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileCount"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/identificatorlist": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get profile list for a context, searching individual profile identificators instead of merged profiles.",
        "operationId": "Profile_GetIdentificatorList",
        "parameters": [
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Page size.",
            "format": "int32",
            "default": 50,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "offsetHistoryId",
            "in": "query",
            "description": "Page offsetId.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "searchText",
            "in": "query",
            "description": "Search text to filter profiles by.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "getWorkspaceUsers",
            "in": "query",
            "description": "Search only for workspace users if true, otherwise search all.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "identificatorIds",
            "in": "query",
            "description": "List of contact ids to filter profiles by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "excludeIdentificatorIds",
            "in": "query",
            "description": "List of identificator ids to exclude from results.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "excludeProfileIds",
            "in": "query",
            "description": "List of profile ids to exclude from results.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "Restrict results to identificators belonging to a member of this group.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "companyIds",
            "in": "query",
            "description": "List of company ids to filter profiles by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "boolean",
            "name": "companyIsLinked",
            "in": "query",
            "description": "When true, restrict results to profiles linked to a company; when false, restrict to profiles with no company linked.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "userTypes",
            "in": "query",
            "description": "List of user types to filter profiles by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/UserType"
            }
          },
          {
            "type": "string",
            "name": "profileSortOrder",
            "in": "query",
            "description": "Sort order for profiles.",
            "x-schema": {
              "$ref": "#/definitions/ProfileSortOrderBy"
            },
            "default": "SearchScore",
            "x-nullable": false,
            "enum": [
              "Name",
              "SearchScore",
              "Weight",
              "ModifiedDate",
              "CreatedDate"
            ]
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Sort order direction.",
            "x-schema": {
              "$ref": "#/definitions/SortOrder"
            },
            "default": "Descending",
            "x-nullable": false,
            "enum": [
              "Descending",
              "Ascending"
            ]
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Optional workspace ID to filter profiles.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfProfileUserSearch"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/{profileId}": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get profile by ID.",
        "operationId": "Profile_Get",
        "parameters": [
          {
            "type": "string",
            "name": "profileId",
            "in": "path",
            "required": true,
            "description": "Profile ID.",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Profile"
        ],
        "summary": "Delete a profile.",
        "operationId": "Profile_Delete",
        "parameters": [
          {
            "type": "string",
            "name": "profileId",
            "in": "path",
            "required": true,
            "description": "Profile ID.",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/user/{userId}": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get profile by ID.",
        "operationId": "Profile_GetByUserId",
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "Profile ID.",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "authorizedId",
            "in": "query",
            "description": "Optional authorized ID to filter profiles.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Optional workspace ID to filter profiles.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Create a new profile.",
        "operationId": "Profile_Create",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "profile",
            "in": "body",
            "required": true,
            "description": "Profile to create. ContextId must be set; Id must be null.",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace ID.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "422": {
            "x-nullable": false,
            "description": "Unprocessable Content - points to logical or data validation problems.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Profile"
        ],
        "summary": "Update an existing profile.",
        "operationId": "Profile_Update",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "profile",
            "in": "body",
            "required": true,
            "description": "Updated profile data.",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace ID.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "422": {
            "x-nullable": false,
            "description": "Unprocessable Content - points to logical or data validation problems.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/{profileId}/company": {
      "patch": {
        "tags": [
          "Profile"
        ],
        "summary": "Link or unlink a profile's Company. Always a manual, pinned change (company-profiles-spec.md\nrule 6) — the only automatic path is the domain auto-association job.",
        "operationId": "Profile_SetProfileCompany",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "profileId",
            "in": "path",
            "required": true,
            "description": "Profile ID.",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "description": "CompanyId to link, or null to unlink.",
            "schema": {
              "$ref": "#/definitions/ProfileCompanyLinkRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace ID.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/merge": {
      "put": {
        "tags": [
          "Profile"
        ],
        "summary": "Merge two profiles. The secondary profile is deleted and its identificators are moved to the primary.",
        "operationId": "Profile_Merge",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "description": "Merge request with primary and secondary profile IDs.",
            "schema": {
              "$ref": "#/definitions/ProfileMergeRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/batch": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Perform a batch action (delete, export, removecompany) on a list of profiles. All profile IDs\nmust belong to the same workspace and the list size is capped at MaxPageSize. Always returns a\nper-profile success/failure result; for Export, SignedLink additionally carries a time-limited\ndownload link to a CSV file built from the profiles the caller was allowed to export.",
        "operationId": "Profile_BatchAction",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "description": "Batch action request: action, profile IDs, and (for RemoveCompany) companyId.",
            "schema": {
              "$ref": "#/definitions/ProfileBatchActionRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileBatchActionResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/getbycontactids": {
      "put": {
        "tags": [
          "Profile"
        ],
        "summary": "Get contact list.",
        "operationId": "Profile_MultipleProfileGetByContactIds",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "contactIds",
            "in": "body",
            "description": "List of contact ids to filter contact list by.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactIdRequest"
              }
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Optional workspace ID to filter profiles.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfProfileUser"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/{profileId}/avatar": {
      "put": {
        "tags": [
          "Profile"
        ],
        "summary": "Update profile avatar.",
        "operationId": "Profile_UpdateProfileAvatar",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "profileId",
            "in": "path",
            "required": true,
            "description": "Profile id",
            "x-nullable": false
          },
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "description": "Avatar image file",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/{profileId}/avatarsignedlink": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get user avatar signed link.",
        "operationId": "Profile_GetProfileAvatarSignedLink",
        "parameters": [
          {
            "type": "string",
            "name": "profileId",
            "in": "path",
            "required": true,
            "description": "Profile id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/import": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Start a bulk profile import job.",
        "operationId": "Profile_Import",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProfileImportRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileImportTaskResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/import/csv": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Start a bulk profile import job from a CSV file.",
        "operationId": "Profile_ImportCsv",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "dryRun",
            "in": "query",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileImportTaskResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/export/csv": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Export profiles from an import data JSON link, a list of profile IDs or a company into a CSV file.",
        "operationId": "Profile_ExportCsv",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "description": "Export request with the source of the profiles.",
            "schema": {
              "$ref": "#/definitions/ProfileExportRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/listimport": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get paginated list of profile import tasks for the current workspace.",
        "operationId": "Profile_ListImport",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "dryRun",
            "in": "query",
            "description": "Filter by whether the import task was a dry run.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "status",
            "in": "query",
            "description": "List of statuses to filter import tasks by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "$ref": "#/definitions/ProfileImportStatus"
            }
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace ID header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfProfileImportTaskResult"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/importtask/{importTaskId}": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Get the status and results of a profile import task.",
        "operationId": "Profile_GetImportTask",
        "parameters": [
          {
            "type": "string",
            "name": "importTaskId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileImportTaskResult"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Profile"
        ],
        "summary": "Delete a profile import task.",
        "operationId": "Profile_DeleteImportTask",
        "parameters": [
          {
            "type": "string",
            "name": "importTaskId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/profile/importtask/{importTaskId}/rerun": {
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Rerun a profile import task, resetting its progress and re-queuing it.",
        "operationId": "Profile_RerunImportTask",
        "parameters": [
          {
            "type": "string",
            "name": "importTaskId",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "dryRun",
            "in": "query",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ProfileImportTaskResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/report/export": {
      "post": {
        "tags": [
          "Report"
        ],
        "summary": "Create export.",
        "operationId": "Report_ProxyToExportCreateCommand",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "exportRequest",
            "in": "body",
            "required": true,
            "description": "Export Request",
            "schema": {
              "$ref": "#/definitions/ReportingExportRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "export",
            "schema": {
              "$ref": "#/definitions/ReportingExportResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/report/exports/{id}": {
      "get": {
        "tags": [
          "Report"
        ],
        "summary": "Get export status",
        "operationId": "Report_ProxyToExportResultCommand",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Export ID",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "export",
            "schema": {
              "$ref": "#/definitions/ReportingExportResult"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/search/list": {
      "options": {
        "tags": [
          "Search"
        ],
        "summary": "Get options for card list API.",
        "operationId": "Search_GetSearchOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsSearch"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Get search list.",
        "operationId": "Search_GetList",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "query",
            "in": "body",
            "description": "Search query.",
            "schema": {
              "$ref": "#/definitions/SearchQueryBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfResourceBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/sync": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get sync settings.",
        "operationId": "Settings_GetSyncSettings",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Exchange sync settings\nor\nGmail sync settings\nor\nMicrosoft sync settings\nor\nRemote imap sync settings\nor\nNative imap sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsBase"
            },
            "x-expectedSchemas": [
              {
                "description": "Exchange sync settings",
                "schema": {
                  "$ref": "#/definitions/SyncSettingsExchange"
                }
              },
              {
                "description": "Gmail sync settings",
                "schema": {
                  "$ref": "#/definitions/SyncSettingsGmail"
                }
              },
              {
                "description": "Microsoft sync settings",
                "schema": {
                  "$ref": "#/definitions/SyncSettingsMicrosoft"
                }
              },
              {
                "description": "Remote imap sync settings",
                "schema": {
                  "$ref": "#/definitions/SyncSettingsRemoteImap"
                }
              },
              {
                "description": "Native imap sync settings",
                "schema": {
                  "$ref": "#/definitions/SyncSettingsImapSmtp"
                }
              }
            ]
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/exchange": {
      "post": {
        "tags": [
          "Settings"
        ],
        "summary": "Create sync settings for MS Exchange account.",
        "operationId": "Settings_CreateExchangeSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsExchange",
            "in": "body",
            "required": true,
            "description": "Exchange sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsExchange"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsExchange"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Update sync settings for MS Exchange account.",
        "operationId": "Settings_UpdateExchangeSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsExchange",
            "in": "body",
            "required": true,
            "description": "Exchange sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsExchange"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsExchange"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/gmail": {
      "post": {
        "tags": [
          "Settings"
        ],
        "summary": "Create sync settings for Gmail account.",
        "operationId": "Settings_CreateGmailSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsGmail",
            "in": "body",
            "required": true,
            "description": "Gmail sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsGmail"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsGmail"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Update sync settings for Gmail account.",
        "operationId": "Settings_UpdateGmailSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsGmail",
            "in": "body",
            "required": true,
            "description": "Gmail sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsGmail"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsGmail"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/microsoft": {
      "post": {
        "tags": [
          "Settings"
        ],
        "summary": "Create sync settings for MS Graph account.",
        "operationId": "Settings_CreateMicrosoftSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsMicrosoft",
            "in": "body",
            "required": true,
            "description": "Microsoft graph sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsMicrosoft"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsMicrosoft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Update sync settings for MS Graph account.",
        "operationId": "Settings_UpdateMicrosoftSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsMicrosoft",
            "in": "body",
            "required": true,
            "description": "Microsoft graph sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsMicrosoft"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsMicrosoft"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/imap": {
      "post": {
        "tags": [
          "Settings"
        ],
        "summary": "Create sync settings for Imap account.",
        "operationId": "Settings_CreateImapSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsImap",
            "in": "body",
            "required": true,
            "description": "Imap sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsImapSmtp"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsImapSmtp"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Update sync settings for Imap account.",
        "operationId": "Settings_UpdateImapSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsImap",
            "in": "body",
            "required": true,
            "description": "Gmail sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsImapSmtp"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsImapSmtp"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/remoteimap": {
      "post": {
        "tags": [
          "Settings"
        ],
        "summary": "Create sync settings for remote imap account.",
        "operationId": "Settings_CreateRemoteImapSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsRemoteImap",
            "in": "body",
            "required": true,
            "description": "Remote IMAP sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsRemoteImap"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsRemoteImap"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Update sync settings for remote imap account.",
        "operationId": "Settings_UpdateRemoteImapSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsRemoteImap",
            "in": "body",
            "required": true,
            "description": "Remote imap sync settings",
            "schema": {
              "$ref": "#/definitions/SyncSettingsRemoteImap"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SyncSettingsRemoteImap"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/user": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get user settings.",
        "operationId": "Settings_GetUserSettings",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/UserSettings"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Update user settings.",
        "operationId": "Settings_UpdateUserSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "settingsUser",
            "in": "body",
            "required": true,
            "description": "User settings",
            "schema": {
              "$ref": "#/definitions/UserSettings"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/UserSettings"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/alias/{aliasEmail}": {
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "add/update user alias.",
        "operationId": "Settings_UpdateUserAlias",
        "parameters": [
          {
            "type": "string",
            "name": "aliasEmail",
            "in": "path",
            "required": true,
            "description": "User alias",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "enableForSend",
            "in": "query",
            "description": "User can send email from alias",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "defaultAlias",
            "in": "query",
            "description": "User can set default alias for sending",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/UserSettings"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Settings"
        ],
        "summary": "delete user alias.",
        "operationId": "Settings_DeleteUserAlias",
        "parameters": [
          {
            "type": "string",
            "name": "aliasEmail",
            "in": "path",
            "required": true,
            "description": "User alias",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/UserSettings"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/scopeslist": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "list scopes settings.",
        "operationId": "Settings_ListScopesSettings",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/scope/{scope}": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "get scope settings.",
        "operationId": "Settings_GetScopeSettings",
        "parameters": [
          {
            "type": "string",
            "name": "scope",
            "in": "path",
            "required": true,
            "description": "Scope name",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ScopeSettings"
            }
          },
          "404": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Settings"
        ],
        "summary": "delete scope settings.",
        "operationId": "Settings_DeleteScopeSettings",
        "parameters": [
          {
            "type": "string",
            "name": "scope",
            "in": "path",
            "required": true,
            "description": "Scope name",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/scopeall": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "get all scope settings.",
        "operationId": "Settings_GetAllScopeSettings",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfScopeSettings"
            }
          },
          "404": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/settings/scope": {
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "put scope settings.",
        "operationId": "Settings_PutScopeSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "scopeSettings",
            "in": "body",
            "required": true,
            "description": "scope settings",
            "schema": {
              "$ref": "#/definitions/ScopeSettings"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ScopeSettings"
            }
          },
          "404": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Settings"
        ],
        "summary": "put scope settings.",
        "operationId": "Settings_PatchScopeSettings",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "scopeSettings",
            "in": "body",
            "required": true,
            "description": "scope settings",
            "schema": {
              "$ref": "#/definitions/ScopeSettings"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ScopeSettings"
            }
          },
          "404": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/{id}": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get tag by id",
        "operationId": "SharedTag_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tag id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "parentId",
            "in": "query",
            "description": "Parent of tag",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedTagBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/batchget": {
      "post": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get batch tag by id",
        "operationId": "SharedTag_GetBatchTags",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "batchTagRequest",
            "in": "body",
            "required": true,
            "description": "Tag batch request",
            "schema": {
              "$ref": "#/definitions/BatchTagRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SharedTagBase"
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag": {
      "post": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Create shared tag",
        "operationId": "SharedTag_CreateSharedTag",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "sharedTag",
            "in": "body",
            "required": true,
            "description": "Shared tag object",
            "schema": {
              "$ref": "#/definitions/SharedTagBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedTagBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Update shared tag",
        "operationId": "SharedTag_UpdateSharedTag",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "sharedTag",
            "in": "body",
            "required": true,
            "description": "Shared tag object",
            "schema": {
              "$ref": "#/definitions/SharedTagBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedTagBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Delete shared tag",
        "operationId": "SharedTag_DeleteSharedTag",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "sharedTag",
            "in": "body",
            "required": true,
            "description": "Shared tag object",
            "schema": {
              "$ref": "#/definitions/SharedTagBase"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedTagBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/list": {
      "put": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Update List of shared tags on their parent resources",
        "operationId": "SharedTag_UpdateTags",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "tags",
            "in": "body",
            "required": true,
            "description": "List of resources that need to be modified",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ListOfTags"
              }
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "processAsync",
            "in": "query",
            "description": "If true, backend will process the request asynchrounosly and return HTTP accepted if everything is OK with request",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ListOfTags"
              }
            }
          },
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed. Check response header Location at which the status of requested content can be monitored."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/groupfolderlist": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list of all shared folder tags for shared/personal inbox group",
        "operationId": "SharedTag_GetListOfSharedFolderTags",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "get shared folder tag for group",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Paging offset",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Paging size",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfSharedTagFolder"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/groupsfolderlist": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list of all (max 200) shared folder tags for shared/personal inbox group",
        "operationId": "SharedTag_GetListOfGroupsSharedFolderTags",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Paging offset",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Paging size",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfListOfGroupSharedFolderTags"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/list/singleton": {
      "put": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Update existing tag",
        "operationId": "SharedTag_UpdateTag",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "tags",
            "in": "body",
            "required": true,
            "description": "Updated listoftags object",
            "schema": {
              "$ref": "#/definitions/ListOfTags"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfTags"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/labels/list": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list of workspace labels",
        "operationId": "SharedTag_GetLabelWorkspaces",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfLabelsWorkspace"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/labels/{id}": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list sharedtaglabel for workspace",
        "operationId": "SharedTag_GetWorkspaceLabels",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "workspace id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfSharedTagLabel"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/workspaces/labels/list": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list of shared tags for workspaces",
        "operationId": "SharedTag_GetWorkspacesLabels",
        "parameters": [
          {
            "type": "array",
            "name": "workspaceIds",
            "in": "query",
            "description": "workspace ids (all if empty)",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfListOfResourcesOfSharedTagLabel"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/classification/list": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list of workspace labels",
        "operationId": "SharedTag_GetClassificationWorkspaces",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfClassificationsWorkspace"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/classification/{id}": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list sharedtaglabel for workspace",
        "operationId": "SharedTag_GetWorkspaceClassifications",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "workspace id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfSharedTagClassification"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/sharedtag/workspaces/classification/list": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list of shared tags for workspaces",
        "operationId": "SharedTag_GetWorkspacesClassification",
        "parameters": [
          {
            "type": "array",
            "name": "workspaceIds",
            "in": "query",
            "description": "workspace ids (all if empty)",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfListOfResourcesOfSharedTagClassification"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/signature": {
      "post": {
        "tags": [
          "Signature"
        ],
        "summary": "Create new signature",
        "operationId": "Signature_CreateSignature",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "signature",
            "in": "body",
            "required": true,
            "description": "Signature object",
            "schema": {
              "$ref": "#/definitions/Signature"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Signature"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/signature/{id}": {
      "get": {
        "tags": [
          "Signature"
        ],
        "summary": "Get signature by id.",
        "operationId": "Signature_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Signature id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Signature"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Signature"
        ],
        "summary": "Update existing signature",
        "operationId": "Signature_UpdateSignature",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Signature id",
            "x-nullable": false
          },
          {
            "name": "signature",
            "in": "body",
            "required": true,
            "description": "Updated signature object",
            "schema": {
              "$ref": "#/definitions/Signature"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Signature"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Signature"
        ],
        "summary": "Delete existing signature",
        "operationId": "Signature_DeleteSignature",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Signature id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/signature/list": {
      "get": {
        "tags": [
          "Signature"
        ],
        "summary": "Get list of all signatures.",
        "operationId": "Signature_GetListOfSignatures",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Paging offset",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Paging size",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfSignature"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/spam": {
      "get": {
        "tags": [
          "Spam"
        ],
        "summary": "Get spam online messages.",
        "operationId": "Spam_GetSpamMessages",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "groupId - it should be personal or shared inbox",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "historyId",
            "in": "query",
            "description": "historyId - for paging purpose",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "page size",
            "format": "int32",
            "default": 50,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfConversation"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/spam/notspam": {
      "post": {
        "tags": [
          "Spam"
        ],
        "summary": "Not spam action",
        "operationId": "Spam_UnSpamMessage",
        "parameters": [
          {
            "type": "string",
            "name": "messageId",
            "in": "query",
            "description": "messageId",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/spam/message": {
      "get": {
        "tags": [
          "Spam"
        ],
        "summary": "Get detail spam message",
        "operationId": "Spam_GetSpamDetailMessage",
        "parameters": [
          {
            "type": "string",
            "name": "messageId",
            "in": "query",
            "description": "messageId",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/CommentMail"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/subscription": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "Create new subscription",
        "operationId": "Subscription_CreateSubscription",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "subscription",
            "in": "body",
            "required": true,
            "description": "Subscription object",
            "schema": {
              "$ref": "#/definitions/Subscription"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/subscription/{id}": {
      "get": {
        "tags": [
          "Subscription"
        ],
        "summary": "Get subscription by id.",
        "operationId": "Subscription_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Subscription id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Subscription"
        ],
        "summary": "Extend existing subscription",
        "operationId": "Subscription_UpdateSubscription",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Subscription id",
            "x-nullable": false
          },
          {
            "name": "subscription",
            "in": "body",
            "required": true,
            "description": "Updated Subscription object",
            "schema": {
              "$ref": "#/definitions/Subscription"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Subscription"
        ],
        "summary": "Delete existing subscription",
        "operationId": "Subscription_DeleteSubscription",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Subscription id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/subscription/list": {
      "get": {
        "tags": [
          "Subscription"
        ],
        "summary": "Get list of all subscriptions.",
        "operationId": "Subscription_GetListOfSubscriptions",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Paging offset",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Paging size",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfSubscription"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/subscription/license/{id}": {
      "get": {
        "tags": [
          "SubscriptionLicense"
        ],
        "summary": "Get subscription license by id.",
        "operationId": "SubscriptionLicense_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Subscription id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SubscriptionLicense"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "patch": {
        "tags": [
          "SubscriptionLicense"
        ],
        "summary": "Change subscription license properties.",
        "operationId": "SubscriptionLicense_PatchSubscriptionLicense",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "subscription",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubscriptionLicensePatchRequest"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SubscriptionLicense"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/subscription/license/list": {
      "get": {
        "tags": [
          "SubscriptionLicense"
        ],
        "summary": "Get list of all license subscriptions.",
        "operationId": "SubscriptionLicense_GetListOfSubscriptionLicenses",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfSubscriptionLicense"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/subscription/license": {
      "get": {
        "tags": [
          "SubscriptionLicense"
        ],
        "summary": "Get top priority subscription.",
        "operationId": "SubscriptionLicense_GetTopPrioritySubscription",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/SubscriptionLicense"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/tag": {
      "post": {
        "tags": [
          "Tag"
        ],
        "summary": "Create new tag",
        "operationId": "Tag_CreateTag",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "tag",
            "in": "body",
            "required": true,
            "description": "Tag object",
            "schema": {
              "$ref": "#/definitions/Tag"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Tag"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/tag/{id}": {
      "get": {
        "tags": [
          "Tag"
        ],
        "summary": "Get tag by id",
        "operationId": "Tag_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tag id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Tag"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tag"
        ],
        "summary": "Update existing tag",
        "operationId": "Tag_UpdateTag",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tag id",
            "x-nullable": false
          },
          {
            "name": "tag",
            "in": "body",
            "required": true,
            "description": "Updated tag object",
            "schema": {
              "$ref": "#/definitions/Tag"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Tag"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Tag"
        ],
        "summary": "Delete tag object",
        "operationId": "Tag_DeleteTag",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tag id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/tag/list": {
      "get": {
        "tags": [
          "Tag"
        ],
        "summary": "Get list of all existing tags for user",
        "operationId": "Tag_GetListOfTags",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Paging offset",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Paging size",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfTag"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tag"
        ],
        "summary": "Update List of tags on their parent resources",
        "operationId": "Tag_UpdateTags",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "tags",
            "in": "body",
            "required": true,
            "description": "List of resources that need to be modified",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ListOfTags"
              }
            },
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "processAsync",
            "in": "query",
            "description": "If true, backend will process the request asynchrounosly and return HTTP accepted if everything is OK with request",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ListOfTags"
              }
            }
          },
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed. Check response header Location at which the status of requested content can be monitored."
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/ResponseConflict"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/tag/labels": {
      "get": {
        "tags": [
          "Tag"
        ],
        "summary": "Get list private tag label",
        "operationId": "Tag_GetUserLabels",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfTagLabel"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/auth/timed": {
      "get": {
        "tags": [
          "TimedAuth"
        ],
        "summary": "Get short lived token from normal authorization token",
        "operationId": "TimedAuth_GetTimedAuth",
        "parameters": [
          {
            "type": "string",
            "name": "otpCode",
            "in": "query",
            "description": "Add secure authorization",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonate user header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthBase"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/token": {
      "post": {
        "tags": [
          "Token"
        ],
        "summary": "Refresh access token with refresh token",
        "operationId": "Token_RefreshToken",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "body",
            "required": true,
            "description": "Token",
            "schema": {
              "$ref": "#/definitions/Token"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Token"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/token/google": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for google authentication",
        "operationId": "Token_GetGoogleToken",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect uri",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/token/microsoft": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for microsoft authentication. Deprecated - returned raw microsoft token, use api/v1.4/token/microsoft.",
        "operationId": "Token_GetMicrosoftToken",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect Uri",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "shared_scope",
            "in": "query",
            "description": "Shared scope grant",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "type": "string"
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/token/microsoft/codeExchange": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for microsoft authentication, web only. Deprecated - returned raw microsoft token, use api/v1.4/token/microsoft.",
        "operationId": "Token_GetMicrosoftCodeExchangeToken",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect Uri",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "state",
            "in": "query",
            "description": "Current state",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "shared_scope",
            "in": "query",
            "description": "Shared scope grant",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "type": "string"
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/token/code": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get code.",
        "operationId": "Token_GetCode",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-ClientId",
            "x-originalName": "clientId",
            "in": "header",
            "description": "Client id (randomly generated)",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthenticationCode"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Create user contact.",
        "operationId": "User_CreateContact",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "user",
            "in": "body",
            "required": true,
            "description": "User object",
            "schema": {
              "$ref": "#/definitions/User"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get self.",
        "operationId": "User_GetSelf",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "User"
        ],
        "summary": "Update user contact.",
        "operationId": "User_UpdateSelf",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "user",
            "in": "body",
            "required": true,
            "description": "User object",
            "schema": {
              "$ref": "#/definitions/User"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user/{id}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get user contact.",
        "operationId": "User_Get",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User id (leave empty, if you want to get self - authorized user)",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "authorizedCardId",
            "in": "query",
            "description": "Card id where user can see contact but doesn't actually have contact with him/her",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "User"
        ],
        "summary": "Update user contact.",
        "operationId": "User_UpdateContact",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User id",
            "x-nullable": false
          },
          {
            "name": "user",
            "in": "body",
            "required": true,
            "description": "User object",
            "schema": {
              "$ref": "#/definitions/User"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user/list": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get list of users",
        "operationId": "User_GetListOfUsers",
        "parameters": [
          {
            "type": "integer",
            "name": "offset",
            "in": "query",
            "description": "Requested page offset.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "searchQuery",
            "in": "query",
            "description": "Plaintext search query to filter list of users by.",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "tags",
            "in": "query",
            "description": "List of tags to filter card list by.",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfResourcesOfUser"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user/{userId}/avatar": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get user avatar.",
        "operationId": "User_GetUserAvatar",
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "User id",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "imageSize",
            "in": "query",
            "description": "Avatar size (all avatars are square - one dimension is enough, default is 256)",
            "format": "int32",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ETag",
            "x-originalName": "etag",
            "in": "header",
            "description": "EntityTag header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "User"
        ],
        "summary": "Update user avatar.",
        "operationId": "User_UpdateUserAvatar",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "User id",
            "x-nullable": false
          },
          {
            "type": "file",
            "name": "file",
            "in": "formData",
            "description": "Avatar object",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "304": {
            "description": "Resource with requested etag was not modified since last request."
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user/{userId}/avatarsignedlink": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get user avatar signed link.",
        "operationId": "User_GetUserAvatarSignedLink",
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "User id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user/useravailabilitystatus": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get user availabilty status",
        "operationId": "User_GetUserAvailabilityStatus",
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "query",
            "description": "get payment status for userId",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AvailabilityUserStatus"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "User"
        ],
        "summary": "Put user availability status",
        "operationId": "User_PutUserAvailabilityStatus",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "availabilityStatus",
            "in": "body",
            "required": true,
            "description": "set availabilitiy status",
            "schema": {
              "$ref": "#/definitions/AvailabilityUserStatus"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "userId",
            "in": "query",
            "description": "set availabilitiy status for userId if null - current user",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/AvailabilityUserStatus"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "User"
        ],
        "summary": "Delete user availability status",
        "operationId": "User_DeleteUserAvailabilityStatus",
        "parameters": [
          {
            "type": "string",
            "name": "userId",
            "in": "query",
            "description": "set availabilitiy status for userId if null - current user",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user/apikey": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get user api keys",
        "operationId": "User_GetUserApiKeysStatus",
        "parameters": [
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ApiKeyToken"
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Add new user api keys",
        "operationId": "User_AddUserApiKeysStatus",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "apiKeyToken",
            "in": "body",
            "required": true,
            "description": "api key token",
            "schema": {
              "$ref": "#/definitions/ApiKeyToken"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Token"
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1/user/apikey/{id}": {
      "delete": {
        "tags": [
          "User"
        ],
        "summary": "Delete user api key",
        "operationId": "User_DeleteUserApiKeys",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of api key",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ApiKeyToken"
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "patch": {
        "tags": [
          "User"
        ],
        "summary": "Rename user api key",
        "operationId": "User_RenameUserApiKey",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of api key",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "name",
            "in": "query",
            "description": "new name of api key",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ApiKeyToken"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.4/token/google": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for google authentication",
        "operationId": "Token_GetGoogleToken2",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect uri",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "state",
            "in": "query",
            "description": "State",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "responseForm",
            "in": "query",
            "description": "responseForm default is landing other posible is token",
            "default": "dta",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.4/token/microsoft": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get loop code for microsoft authentication token with full scope",
        "operationId": "Token_GetMicrosoftToken2",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect Uri",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "shared_scope",
            "in": "query",
            "description": "Shared scope grant",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "responseForm",
            "in": "query",
            "description": "responseForm default is landing other posible is token",
            "default": "dta",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.4/token/microsoftLimited": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get loop code for microsoft authentication token with limited scope",
        "operationId": "Token_GetMicrosoftLimitedToken",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect Uri",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "responseForm",
            "in": "query",
            "description": "responseForm default is landing other posible is token",
            "default": "dta",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.4/token/microsoft/code": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for microsoft authentication token from loop code",
        "operationId": "Token_GetMicrosoftTokenFromCode",
        "parameters": [
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Token"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.4/token/google/code": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for google authentication token from loop code",
        "operationId": "Token_GetGoogleTokenFromCode",
        "parameters": [
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Token"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.3/token/google": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for google authentication",
        "operationId": "Token_GetGoogleToken22",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect uri",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "state",
            "in": "query",
            "description": "State",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "responseForm",
            "in": "query",
            "description": "responseForm default is landing other posible is token",
            "default": "dta",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.3/token/microsoft": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get loop code for microsoft authentication token",
        "operationId": "Token_GetMicrosoftToken22",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect Uri",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "shared_scope",
            "in": "query",
            "description": "Shared scope grant",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "responseForm",
            "in": "query",
            "description": "responseForm default is landing other posible is token",
            "default": "dta",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.3/token/microsoft/code": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for microsoft authentication token from loop code",
        "operationId": "Token_GetMicrosoftTokenFromCode2",
        "parameters": [
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Token"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.3/token/google/code": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for google authentication token from loop code",
        "operationId": "Token_GetGoogleTokenFromCode2",
        "parameters": [
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Token"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/comment/{id}/signedlinkeml": {
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get comment eml signed link by id.",
        "operationId": "Comment_GetCommentSignedLinkEml",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Comment id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ContentSignedLinkWithFilename"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "\nor\nRequested resource not found.",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "",
                "schema": {
                  "$ref": "#/definitions/Void"
                }
              },
              {
                "description": "Requested resource not found.",
                "schema": {
                  "$ref": "#/definitions/Response"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/comment/{id}/eml": {
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get comment eml by id.",
        "operationId": "Comment_GetCommentEml2",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Comment id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/comment/{id}/msg": {
      "get": {
        "tags": [
          "Comment"
        ],
        "summary": "Get comment msg by id.",
        "operationId": "Comment_GetCommentMsg",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Comment id",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Requested resource not found.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/comment/channel": {
      "post": {
        "tags": [
          "Comment"
        ],
        "summary": "Create channel comment on new channel card.",
        "operationId": "Comment_CreateCommentChannel",
        "consumes": [
          "application/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "name": "commentMail",
            "in": "body",
            "required": true,
            "description": "Comment mail object",
            "schema": {
              "$ref": "#/definitions/CommentMail"
            },
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "customCreateDateTime",
            "in": "query",
            "description": "Custom created datetime",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "CommentMail",
            "schema": {
              "$ref": "#/definitions/CommentMail"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "413": {
            "x-nullable": false,
            "description": "Request is too large for the server to process.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/event/list": {
      "options": {
        "tags": [
          "Event"
        ],
        "summary": "Get options for event API.",
        "operationId": "Event_GetListOptions",
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/OptionsEventList"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      },
      "get": {
        "tags": [
          "Event"
        ],
        "summary": "Get event list.",
        "operationId": "Event_GetList",
        "parameters": [
          {
            "type": "integer",
            "name": "size",
            "in": "query",
            "description": "Requested page size",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "historyId",
            "in": "query",
            "description": "Return events with an id greater than (that is, more recent than) the specified id for ascending sort order \n            or vice versa (events with an id lesser than or older than) for descending sort order.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "longPolling",
            "in": "query",
            "description": "Connection should be open until a new event (or max 50 seconds) or return immediately (default is false)",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "sortOrder",
            "in": "query",
            "description": "Order of events by created date time (default is ascending)",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "skipOlderThan",
            "in": "query",
            "description": "Skip all events that were created before given dateTime",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "contextList",
            "in": "query",
            "description": "Get events only for specified context",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "eventTypeList",
            "in": "query",
            "description": "Types of events to return",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "skipEventTypeList",
            "in": "query",
            "description": "Types of events to skip",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "htmlFormat",
            "in": "query",
            "description": "HTML format of comment body",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Loop-Workspace-Id",
            "x-originalName": "workspaceId",
            "in": "header",
            "description": "Workspace ID header.",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/EventList"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Requested resource forbidden.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "409": {
            "x-nullable": false,
            "description": "Request failed due to conflict resource state.Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/sharedtag/groupfolderlist": {
      "get": {
        "tags": [
          "SharedTag"
        ],
        "summary": "Get list of all shared folder tags for shared/personal inbox group",
        "operationId": "SharedTag_GetListOfSharedFolderTags2",
        "parameters": [
          {
            "type": "string",
            "name": "groupId",
            "in": "query",
            "description": "get shared folder tag for group",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Authorization",
            "x-originalName": "authorization",
            "in": "header",
            "description": "Authorization header",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "X-Impersonate-User",
            "x-originalName": "impersonatedUser",
            "in": "header",
            "description": "Impersonation header",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/ListOfGroupSharedFolderTags"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "451": {
            "x-nullable": false,
            "description": "Unavailable because account is not verified.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/token/microsoft": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get loop code for microsoft authentication token. Deprecated - code exchanged for raw microsoft token, use api/v1.4/token/microsoft.",
        "operationId": "Token_GetMicrosoftToken23",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect Uri",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "shared_scope",
            "in": "query",
            "description": "Shared scope grant",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "type": "string"
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/token/microsoft/code": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for microsoft authentication token from loop code. Deprecated - returned raw microsoft token, use api/v1.4/token/microsoft/code.",
        "operationId": "Token_GetMicrosoftTokenFromCode22",
        "parameters": [
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          }
        ],
        "responses": {
          "410": {
            "x-nullable": false,
            "description": "Requested resource was deleted.",
            "schema": {
              "type": "string"
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/token/google": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for google authentication",
        "operationId": "Token_GetGoogleToken23",
        "parameters": [
          {
            "type": "string",
            "name": "error",
            "in": "query",
            "description": "Error",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "redirect_uri",
            "in": "query",
            "description": "Redirect uri",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    },
    "/api/v1.2/token/google/code": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token for google authentication token from loop code",
        "operationId": "Token_GetGoogleTokenFromCode22",
        "parameters": [
          {
            "type": "string",
            "name": "code",
            "in": "query",
            "description": "Code",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "$ref": "#/definitions/Token"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Bad request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Unauthorized request. Check fields message and error code from response body for additional information.",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "429": {
            "x-nullable": false,
            "description": "Too many requests. Check response header Retry-After indicating how long to wait before making a new request.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          }
        },
        "security": [
          {
            "access_token": []
          }
        ]
      }
    }
  },
  "definitions": {
    "Options": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Options resource containing variable settings for configurable parameters.",
          "required": [
            "maxPageSize",
            "maxMultiContactCount",
            "$type"
          ],
          "properties": {
            "maxPageSize": {
              "type": "integer",
              "description": "Max page size that is accepted as parameter on list getters and returned",
              "format": "int32"
            },
            "maxMultiContactCount": {
              "type": "integer",
              "description": "Max number of contacts that can be set on a multi contact resource",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OptionsBase": {
      "type": "object",
      "discriminator": "$type",
      "description": "Current variable settings for configurable parameters",
      "x-abstract": true,
      "required": [
        "$type"
      ],
      "properties": {
        "$type": {
          "type": "string"
        }
      }
    },
    "OptionsContactList": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Current variable settings for configurable parameters for /contact endpoint",
          "required": [
            "maxMultiContactCount",
            "maxPageSize",
            "$type"
          ],
          "properties": {
            "maxMultiContactCount": {
              "type": "integer",
              "description": "Max number of contacts that can be set on a multi contact resource",
              "format": "int32"
            },
            "maxPageSize": {
              "type": "integer",
              "description": "Max page size that is accepted as parameter on list getters and returned",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OptionsCardList": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Current variable settings for configurable parameters for /card endpoint",
          "required": [
            "maxPageSize",
            "$type"
          ],
          "properties": {
            "maxPageSize": {
              "type": "integer",
              "description": "Max page size that is accepted as parameter on list getters and returned",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OptionsCardChat": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Current variable settings for configurable parameters for /card endpoint",
          "required": [
            "maxMultiContactCount",
            "$type"
          ],
          "properties": {
            "maxMultiContactCount": {
              "type": "integer",
              "description": "Max number of contacts that can be set on a multi contact resource",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OptionsSearch": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Current variable settings for configurable parameters for /card endpoint",
          "required": [
            "maxPageSize",
            "$type"
          ],
          "properties": {
            "maxPageSize": {
              "type": "integer",
              "description": "Max page size that is accepted as parameter on list getters and returned",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OptionsCommentChat": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Current variable settings for configurable parameters for /comment endpoint",
          "required": [
            "maxMultiContactCount",
            "$type"
          ],
          "properties": {
            "maxMultiContactCount": {
              "type": "integer",
              "description": "Max number of contacts that can be set on a multi contact resource",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OptionsCommentList": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Current variable settings for configurable parameters for /comment endpoint",
          "required": [
            "maxPageSize",
            "$type"
          ],
          "properties": {
            "maxPageSize": {
              "type": "integer",
              "description": "Max page size that is accepted as parameter on list getters and returned",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OptionsEventList": {
      "allOf": [
        {
          "$ref": "#/definitions/OptionsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Current variable settings for configurable parameters for /event endpoint",
          "required": [
            "maxPageSize",
            "$type"
          ],
          "properties": {
            "maxPageSize": {
              "type": "integer",
              "description": "Max page size that is accepted as parameter on list getters and returned",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ActivityTimeline": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Activity timeline for a contact — a chronological, cross-channel view of all comments\ninvolving the contact within the requested time span (or all time if no span is set). Consecutive comments from the\nsame conversation are collapsed into a single ActivityEvent. Events are\nordered newest-first. At most 20 events are returned.",
          "required": [
            "$type"
          ],
          "properties": {
            "dateTimeStart": {
              "type": "string",
              "description": "Start of the requested time span (UTC). Null means no lower limit was applied.",
              "format": "date-time"
            },
            "dateTimeEnd": {
              "type": "string",
              "description": "End of the requested time span (UTC). Null means the timeline ends at request time.",
              "format": "date-time"
            },
            "events": {
              "type": "array",
              "description": "Activity event groups ordered newest-first (max 20). Each group represents one\nrun of consecutive comments from the same conversation.",
              "items": {
                "$ref": "#/definitions/ActivityEvent"
              }
            },
            "offsetHistoryId": {
              "type": "string",
              "description": "Cursor for the next (older) page of events. Pass it back as offsetHistoryId. Null when there are no more events."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ActivityEvent": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "A grouped activity event representing one or more consecutive comments from the same\nconversation in the timeline. Comments from the same conversation are merged into one\ngroup as long as no comment from a different conversation separates them.\n            \nExample: comments [A1, A2, B1, A3] produce three groups: {A1,A2}, {B1}, {A3}.\n            \nThe primary row shows the most recent comment; older comments in the same group\nare available in OlderComments for \"expand\" interactions.\nActivity items are pure facts — no AI-generated content.",
          "required": [
            "direction",
            "commentCount",
            "$type"
          ],
          "properties": {
            "conversationId": {
              "type": "string",
              "description": "Id of the card (conversation) this group belongs to."
            },
            "channelType": {
              "type": "string",
              "description": "Channel type of the conversation (e.g. \"email\", \"phone\", \"sms\").\nSourced from CardBase.ChannelType on the comment's parent card."
            },
            "direction": {
              "description": "Direction of the most recent comment in this group.",
              "allOf": [
                {
                  "$ref": "#/definitions/ActivityDirection"
                }
              ]
            },
            "timestamp": {
              "type": "string",
              "description": "UTC timestamp of the most recent comment in this group.",
              "format": "date-time"
            },
            "author": {
              "description": "Author of the most recent comment in this group.",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "to": {
              "type": "array",
              "description": "Recipients of the most recent comment in this group.",
              "items": {
                "$ref": "#/definitions/ContactBase"
              }
            },
            "subject": {
              "type": "string",
              "description": "Email subject line; null for non-email channels."
            },
            "snippet": {
              "type": "string",
              "description": "Plain-text snippet of the most recent comment body."
            },
            "commentCount": {
              "type": "integer",
              "description": "Total number of comments collapsed into this group (always >= 1).\nWhen > 1, OlderComments carries the earlier items.",
              "format": "int32"
            },
            "olderComments": {
              "type": "array",
              "description": "Older comments in this group (all except the most recent primary row), ordered\nnewest-first. Empty when the group contains only one comment.",
              "items": {
                "$ref": "#/definitions/ActivityComment"
              }
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ActivityDirection": {
      "type": "string",
      "description": "Whether the event was initiated by the customer (Incoming) or by the team (Outgoing).",
      "x-enumNames": [
        "Incoming",
        "Outgoing"
      ],
      "enum": [
        "Incoming",
        "Outgoing"
      ]
    },
    "User": {
      "allOf": [
        {
          "$ref": "#/definitions/ContactBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "User contact resource.",
          "required": [
            "userType",
            "$type"
          ],
          "properties": {
            "userIdentificator": {
              "type": "string",
              "description": "User's Identificator for EmailUser is email for phone is telephone, ...."
            },
            "userType": {
              "description": "User's Type",
              "allOf": [
                {
                  "$ref": "#/definitions/UserType"
                }
              ]
            },
            "email": {
              "type": "string",
              "description": "User's email address"
            },
            "firstName": {
              "type": "string",
              "description": "User's first name"
            },
            "lastName": {
              "type": "string",
              "description": "User's last name"
            },
            "onlineStatus": {
              "type": "string",
              "description": "Online status (possible values can be seen at enums/UserStatus)"
            },
            "lastActivityAt": {
              "type": "string",
              "description": "Date time of the user's last activity",
              "format": "date-time"
            },
            "displayName": {
              "type": "string",
              "description": "User's display name, set only for senders and should be displayed per comment, mostly nullable"
            },
            "changableDisplayName": {
              "type": "boolean",
              "description": "ChangableDisplayName indicates that user has changable name (example github notification user)"
            },
            "availabilityStatus": {
              "description": "Availability user status",
              "allOf": [
                {
                  "$ref": "#/definitions/AvailabilityUserStatus"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "UserType": {
      "type": "string",
      "description": "User types",
      "x-enumNames": [
        "EmailUser",
        "ViberUser",
        "MessengerUser",
        "WhatsappUser",
        "PhoneUser"
      ],
      "enum": [
        "EmailUser",
        "ViberUser",
        "MessengerUser",
        "WhatsappUser",
        "PhoneUser"
      ]
    },
    "AvailabilityUserStatus": {
      "type": "object",
      "description": "Subscription availability status for user",
      "required": [
        "enabledAssignments",
        "outOfOffice"
      ],
      "properties": {
        "status": {
          "type": "string",
          "description": "Status"
        },
        "emoji": {
          "type": "string",
          "description": "Availability Emoji "
        },
        "clearAfter": {
          "type": "string",
          "description": "Availability clear after in minutes ",
          "format": "date-time"
        },
        "enabledAssignments": {
          "type": "boolean",
          "description": "Availability available for assignments"
        },
        "outOfOffice": {
          "type": "boolean",
          "description": "Availability out of office "
        }
      }
    },
    "ContactBase": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Contact base resource",
          "required": [
            "$type"
          ],
          "properties": {
            "tags": {
              "description": "Tags reference on contact",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "weight": {
              "type": "number",
              "description": "Usage weight.",
              "format": "decimal"
            },
            "created": {
              "type": "string",
              "description": "Date time of contact creation",
              "format": "date-time"
            },
            "modified": {
              "type": "string",
              "description": "Date time of last time contact was modified",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfTags": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "List of tags resource",
          "required": [
            "$type"
          ],
          "properties": {
            "tags": {
              "description": "List of tags for resource",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfTag"
                }
              ]
            },
            "parent": {
              "description": "Resource the tags are set for",
              "allOf": [
                {
                  "$ref": "#/definitions/ResourceBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfTag": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Tag"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "Tag": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Tag resource",
          "required": [
            "$type"
          ],
          "properties": {
            "tagType": {
              "type": "string",
              "description": "Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ResourceBase": {
      "type": "object",
      "discriminator": "$type",
      "description": "Resource base",
      "required": [
        "$type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Resource id"
        },
        "name": {
          "type": "string",
          "description": "Resource name or title"
        },
        "revision": {
          "type": "string",
          "description": "Resource revision"
        },
        "clientId": {
          "type": "string",
          "description": "Resource client id"
        },
        "$type": {
          "type": "string"
        }
      }
    },
    "CommentBase": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Comment base resource",
          "required": [
            "$type"
          ],
          "properties": {
            "author": {
              "description": "Author of comment",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "created": {
              "type": "string",
              "description": "Created date time of comment",
              "format": "date-time"
            },
            "parent": {
              "description": "Parent of comment (the card it belongs to)",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "attachments": {
              "description": "List of attachments on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfFile"
                }
              ]
            },
            "snippet": {
              "type": "string",
              "description": "Comment snippet"
            },
            "tags": {
              "description": "Tags reference on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "sharedTags": {
              "description": "Shared tags reference on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CardBase": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card base resource",
          "required": [
            "$type"
          ],
          "properties": {
            "author": {
              "description": "Author of card",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "shareList": {
              "description": "List of contacts that take part on the card",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "tags": {
              "description": "Tags reference on card",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "sharedTags": {
              "description": "Shared tags reference on card",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "created": {
              "type": "string",
              "description": "Time of card creation",
              "format": "date-time"
            },
            "channelType": {
              "type": "string",
              "description": "Channel Type"
            },
            "loopinHandledBySystem": {
              "type": "boolean",
              "description": "Information for integration. Do not loop this card - is allready loop in"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfContactBase": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ContactBase"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CardMail": {
      "allOf": [
        {
          "$ref": "#/definitions/CardBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card mail resource (used for typical mail correspondence)",
          "required": [
            "$type"
          ],
          "properties": {
            "comments": {
              "description": "List of comments",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentMail"
                }
              ]
            },
            "copiedCardIds": {
              "description": "List of ids for shared cards created (copied) from this card.",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfString"
                }
              ]
            },
            "appointmentLink": {
              "description": "Link between corresponding CardMail and CardAppointment",
              "allOf": [
                {
                  "$ref": "#/definitions/CardAppointment"
                }
              ]
            },
            "parentCardShared": {
              "description": "Parent shared card is set if/when this card is a consequence of replying to a snapshot on a shared card.\nNot set (null) otherwise.",
              "allOf": [
                {
                  "$ref": "#/definitions/CardShared"
                }
              ]
            },
            "loopInResource": {
              "description": "Shared card this snapshot card was created from. (link to the loop in card)\nNot set (null) otherwise.",
              "allOf": [
                {
                  "$ref": "#/definitions/CardShared"
                }
              ]
            },
            "isSnapshot": {
              "type": "boolean",
              "description": "Flag indicating whether or not this is a snapshot"
            },
            "draftResource": {
              "description": "Current draft on card\nNot set (null) otherwise.",
              "allOf": [
                {
                  "$ref": "#/definitions/CardDraft"
                }
              ]
            },
            "privateDraftResource": {
              "description": "Current private draft on card\nNot set (null) otherwise.",
              "allOf": [
                {
                  "$ref": "#/definitions/CardDraft"
                }
              ]
            },
            "draftResources": {
              "type": "array",
              "description": "Current shared drafts on card\nNot set (null) otherwise.",
              "items": {
                "$ref": "#/definitions/CardDraft"
              }
            },
            "privateDraftResources": {
              "type": "array",
              "description": "Current private drafts on card\nNot set (null) otherwise.",
              "items": {
                "$ref": "#/definitions/CardDraft"
              }
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfCommentMail": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/CommentMail"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CommentMail": {
      "allOf": [
        {
          "$ref": "#/definitions/CommentBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Comment mail resource",
          "required": [
            "$type"
          ],
          "properties": {
            "from": {
              "description": "From on comment if different as author",
              "allOf": [
                {
                  "$ref": "#/definitions/ContactBase"
                }
              ]
            },
            "to": {
              "description": "To recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "cc": {
              "description": "CC recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "bcc": {
              "description": "BCC recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "replyTo": {
              "description": "ReplyTo recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "xOriginalFrom": {
              "description": "Original from recipients on comment (from X-Original-From header)",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "xForwardedFor": {
              "type": "string",
              "description": "XForwardedFor header"
            },
            "xForwardedTo": {
              "type": "string",
              "description": "XForwardedTo header"
            },
            "autoSubmitted": {
              "type": "string",
              "description": "AutoSubmitted header"
            },
            "emailHeaders": {
              "type": "object",
              "description": "Email headers",
              "additionalProperties": {
                "type": "string"
              }
            },
            "forwardedCopy": {
              "type": "boolean",
              "description": "Comment is a copy"
            },
            "body": {
              "description": "Content of comment",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBody"
                }
              ]
            },
            "originalAuthor": {
              "description": "Original author of comment when sending sendAs",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "originalCommentId": {
              "type": "string",
              "description": "Original comment id on snapshot comment"
            },
            "draftCardId": {
              "type": "string",
              "description": "Reference to draft that create this comment"
            },
            "channelType": {
              "type": "string",
              "description": "Channnel Type"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CommentBody": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Comment body resource",
          "required": [
            "$type"
          ],
          "properties": {
            "mimeType": {
              "type": "string",
              "description": "Mime type for body content."
            },
            "availableMimeTypes": {
              "description": "Available mime types for body content.",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfString"
                }
              ]
            },
            "content": {
              "type": "string",
              "description": "Body content."
            },
            "contentSignedLink": {
              "type": "string",
              "description": "Body content signed link."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfString": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "type": "string"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CardAppointment": {
      "allOf": [
        {
          "$ref": "#/definitions/CardBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card appointment resource (used for all RSVP cards)",
          "required": [
            "$type"
          ],
          "properties": {
            "comments": {
              "description": "List of comments",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentMail"
                }
              ]
            },
            "attendees": {
              "description": "List of appointment attendees",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfAttendee"
                }
              ]
            },
            "location": {
              "type": "string",
              "description": "Appointment location"
            },
            "startTime": {
              "type": "string",
              "description": "Appointment start time (is set to midnight if it is all day)",
              "format": "date-time"
            },
            "endTime": {
              "type": "string",
              "description": "Appointment end time (is set to midnight if it is all day)",
              "format": "date-time"
            },
            "timezone": {
              "type": "string",
              "description": "Appointment timezone"
            },
            "isAllDay": {
              "type": "boolean",
              "description": "Flag indicating whether the appointment is all day"
            },
            "isCancelled": {
              "type": "boolean",
              "description": "Flag indicating whether the appointment was canceled"
            },
            "hasRecurrence": {
              "type": "boolean",
              "description": "Flag indicating whether the appointment is recurring master"
            },
            "isOccurrence": {
              "type": "boolean",
              "description": "Flag indication whether the RSVP is only one instance of a recurring appointment"
            },
            "response": {
              "description": "Authorized user's response to the appointment",
              "allOf": [
                {
                  "$ref": "#/definitions/AppointmentResponse"
                }
              ]
            },
            "recurringMasterResponse": {
              "description": "Authorized user's response to the entire recurring appointment (set only if this appointment is an instance of a recurring appointment)",
              "allOf": [
                {
                  "$ref": "#/definitions/AppointmentResponse"
                }
              ]
            },
            "remindersInMinutes": {
              "description": "List of reminders on a appointment to remind before start of event -> in minutes",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfInteger"
                }
              ]
            },
            "recurrence": {
              "description": "List of all recurrences on appointment, only set if isRecurrence is set to true",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfRecurrenceDetail"
                }
              ]
            },
            "sharedContext": {
              "description": "Provided on agenda list if the appointment is shared via team inbox",
              "allOf": [
                {
                  "$ref": "#/definitions/Group"
                }
              ]
            },
            "onlineMeeting": {
              "description": "Online-meeting/Conference information",
              "allOf": [
                {
                  "$ref": "#/definitions/OnlineMeeting"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfAttendee": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Attendee"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "Attendee": {
      "allOf": [
        {
          "$ref": "#/definitions/User"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Attendee of appointment resource",
          "required": [
            "isOptional",
            "$type"
          ],
          "properties": {
            "statusUpdatedAt": {
              "type": "string",
              "description": "Attendee status was last updated at time",
              "format": "date-time"
            },
            "isOptional": {
              "type": "boolean",
              "description": "Attendee is optional flag - if it isn't optional, it's required"
            },
            "status": {
              "type": "string",
              "description": "Attendee response status (defined in enums/ResponseTypeModel). Can be either Accept, Tentative, Decline, Organizer or NeedsAction"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AppointmentResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Appointment response resource",
          "required": [
            "$type"
          ],
          "properties": {
            "status": {
              "type": "string",
              "description": "Status of attendee for authorized user"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfInteger": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfRecurrenceDetail": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/RecurrenceDetail"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "RecurrenceDetail": {
      "type": "object",
      "description": "Recurrence detail for appointment resources",
      "required": [
        "interval"
      ],
      "properties": {
        "frequency": {
          "type": "string",
          "description": "Recurrence frequency -> possible values are defined in RecurrenceFrequency"
        },
        "interval": {
          "type": "integer",
          "description": "Recurrence interval",
          "format": "int32"
        },
        "dayOfWeek": {
          "type": "string",
          "description": "Day of week to repeat recurrence -> only valid for weekly recurrence, possible values are defined in DayOfWeek"
        },
        "dayOfMonth": {
          "type": "integer",
          "description": "Day of month to repeat recurrence -> only valid for monthly recurrence",
          "format": "int32"
        },
        "month": {
          "type": "string",
          "description": "Month to repeat recurrence in -> only valid for yearly recurrence, possible values defined in Month"
        },
        "weekIndex": {
          "type": "string",
          "description": "Week index, possible values defined in WeekIndex"
        },
        "stop": {
          "type": "string",
          "description": "Datetime when the recurrence should stop",
          "format": "date-time"
        }
      }
    },
    "Group": {
      "allOf": [
        {
          "$ref": "#/definitions/ContactBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Group contact resource.",
          "required": [
            "archived",
            "$type"
          ],
          "properties": {
            "admins": {
              "description": "List of group administrator (must contain at least one user)",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfUser"
                }
              ]
            },
            "members": {
              "description": "List of group members",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfUser"
                }
              ]
            },
            "description": {
              "type": "string",
              "description": "Group description"
            },
            "availableSharedTags": {
              "description": "List of available shared tags in group context",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfSharedTagBase"
                }
              ]
            },
            "sendMailDisabled": {
              "type": "boolean",
              "description": "Flag indicating whether or not sending notification emails on group is disabled"
            },
            "allowedImpersonatedSenders": {
              "description": "List of all group members that have consented to be impersonated with sendAs parameter in this group",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfUser"
                }
              ]
            },
            "groupType": {
              "type": "string",
              "description": "Group type -> possible values are defined in GroupType"
            },
            "groupSubType": {
              "type": "string",
              "description": "Group sub type -> possible values are defined in GroupSubType"
            },
            "syncingAccount": {
              "description": "User syncing account",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "syncingAliasAccount": {
              "description": "User syncing alias account",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "syncingComplete": {
              "type": "boolean",
              "description": "For Shared Group type flag to know is shared synching complete"
            },
            "syncingEnabled": {
              "type": "boolean",
              "description": "For Shared Group type flag to know is shared synching enabled"
            },
            "nudgeText": {
              "type": "string",
              "description": "Group nudge text string. "
            },
            "subscribed": {
              "type": "boolean",
              "description": "Flag subscribed indicate that you are subscribe to see posts in this group in inbox"
            },
            "threadingMode": {
              "description": "For Shared Group type flag for threading mode",
              "allOf": [
                {
                  "$ref": "#/definitions/ThreadingEnum"
                }
              ]
            },
            "archived": {
              "type": "boolean",
              "description": "For Shared Group type flag for archived mode"
            },
            "colour": {
              "type": "string",
              "description": "Flag subscribed indicate that you are subscribe to see posts in this group in inbox"
            },
            "channelType": {
              "type": "string",
              "description": "Group channel type. "
            },
            "showTotalCountBadge": {
              "type": "boolean",
              "description": "Flag ShowBadgeCount indicate that for this group is total count visible"
            },
            "workspaceId": {
              "type": "string",
              "description": "Workspace id for group"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfUser": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/User"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfSharedTagBase": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SharedTagBase"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "SharedTagBase": {
      "allOf": [
        {
          "$ref": "#/definitions/Tag"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag base",
          "required": [
            "$type"
          ],
          "properties": {
            "color": {
              "type": "string",
              "description": "Tag color"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagFolder": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type folder",
          "required": [
            "position",
            "$type"
          ],
          "properties": {
            "groupId": {
              "type": "string",
              "description": "Shared folder tag on group"
            },
            "filterEnum": {
              "description": "Filter enum this is set for system folder",
              "allOf": [
                {
                  "$ref": "#/definitions/FilterEnum"
                }
              ]
            },
            "actionEnum": {
              "description": "Action enum for folder",
              "allOf": [
                {
                  "$ref": "#/definitions/ActionEnum"
                }
              ]
            },
            "position": {
              "type": "integer",
              "description": "Position of folder",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "FilterEnum": {
      "type": "string",
      "description": "Possible Filter Types",
      "x-enumNames": [
        "Inbox",
        "Chats",
        "Drafts",
        "Archived",
        "Assigned",
        "Sent",
        "Starred",
        "Muted",
        "Deleted",
        "AllMessages",
        "Snoozed",
        "SnoozedDue",
        "Unread",
        "Spam",
        "Purge"
      ],
      "enum": [
        "Inbox",
        "Chats",
        "Drafts",
        "Archived",
        "Assigned",
        "Sent",
        "Starred",
        "Muted",
        "Deleted",
        "AllMessages",
        "Snoozed",
        "SnoozedDue",
        "Unread",
        "Spam",
        "Purge"
      ]
    },
    "ActionEnum": {
      "type": "string",
      "description": "Possible Action Types",
      "x-enumNames": [
        "MarkAsRead",
        "MarkAsUnread",
        "MarkAsStarred",
        "MarkAsUnstarred",
        "Archive",
        "Delete",
        "MoveToInbox",
        "MoveToFolder",
        "MarkAsReadForAllUsers",
        "Follow",
        "UnFollow",
        "ChangeLabels",
        "ChangePrivateLabels",
        "ChangeClassification",
        "ChangeCategory",
        "Snooze",
        "SnoozeDiscard",
        "MarkAsJunk",
        "CloseConversation",
        "PinComment",
        "UnpinComment",
        "Purge",
        "UnPurge",
        "DeleteComment"
      ],
      "enum": [
        "MarkAsRead",
        "MarkAsUnread",
        "MarkAsStarred",
        "MarkAsUnstarred",
        "Archive",
        "Delete",
        "MoveToInbox",
        "MoveToFolder",
        "MarkAsReadForAllUsers",
        "Follow",
        "UnFollow",
        "ChangeLabels",
        "ChangePrivateLabels",
        "ChangeClassification",
        "ChangeCategory",
        "Snooze",
        "SnoozeDiscard",
        "MarkAsJunk",
        "CloseConversation",
        "PinComment",
        "UnpinComment",
        "Purge",
        "UnPurge",
        "DeleteComment"
      ]
    },
    "SharedTagAssignee": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type assignee ",
          "required": [
            "$type"
          ],
          "properties": {
            "userId": {
              "type": "string",
              "description": "Id of assigned user"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagCustom": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type custom ",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagStatus": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type status ",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagAssignedBy": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type assigned by ",
          "required": [
            "$type"
          ],
          "properties": {
            "userId": {
              "type": "string",
              "description": "Id of user that assigned the card to someone else"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagSystem": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type system ",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagPriority": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type priority ",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagMention": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type mention",
          "required": [
            "$type"
          ],
          "properties": {
            "userId": {
              "type": "string",
              "description": "Id of mention user"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagReaction": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type reaction",
          "required": [
            "$type"
          ],
          "properties": {
            "userId": {
              "type": "string",
              "description": "Id of reaction user"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagLabel": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type label",
          "required": [
            "deleted",
            "rights",
            "$type"
          ],
          "properties": {
            "workspaceId": {
              "type": "string",
              "description": "tag workspace id"
            },
            "parentTagId": {
              "type": "string",
              "description": "Id of parent label tag"
            },
            "deleted": {
              "type": "boolean",
              "description": "Delete flag"
            },
            "description": {
              "type": "string",
              "description": "Classification description"
            },
            "allowOnContext": {
              "description": "Shared tag allowed on context",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfResourceBase"
                }
              ]
            },
            "rights": {
              "description": "Rights",
              "allOf": [
                {
                  "$ref": "#/definitions/TagRights"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfResourceBase": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ResourceBase"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "TagRights": {
      "type": "string",
      "description": "Possible event types",
      "x-enumNames": [
        "Edit",
        "Assign",
        "View"
      ],
      "enum": [
        "Edit",
        "Assign",
        "View"
      ]
    },
    "SharedTagClassification": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type classification",
          "required": [
            "deleted",
            "classificationType",
            "rights",
            "$type"
          ],
          "properties": {
            "workspaceId": {
              "type": "string",
              "description": "tag workspace id"
            },
            "parentTagId": {
              "type": "string",
              "description": "Id of parent classification tag"
            },
            "deleted": {
              "type": "boolean",
              "description": "Delete flag"
            },
            "classificationType": {
              "description": "Classification type",
              "allOf": [
                {
                  "$ref": "#/definitions/ClassificationTagType"
                }
              ]
            },
            "description": {
              "type": "string",
              "description": "Classification description"
            },
            "rights": {
              "description": "Rigths",
              "allOf": [
                {
                  "$ref": "#/definitions/TagRights"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ClassificationTagType": {
      "type": "string",
      "description": "classification tag type",
      "x-enumNames": [
        "Category",
        "Classification"
      ],
      "enum": [
        "Category",
        "Classification"
      ]
    },
    "SharedTagCategory": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type classification",
          "required": [
            "deleted",
            "categoryType",
            "categoryTypeInstanceId",
            "rights",
            "$type"
          ],
          "properties": {
            "workspaceId": {
              "type": "string",
              "description": "tag workspace id"
            },
            "deleted": {
              "type": "boolean",
              "description": "Delete flag"
            },
            "categoryType": {
              "description": "Category type",
              "allOf": [
                {
                  "$ref": "#/definitions/CategoryEnum"
                }
              ]
            },
            "categoryTypeInstanceId": {
              "type": "integer",
              "description": "Category type",
              "format": "int32"
            },
            "description": {
              "type": "string",
              "description": "description"
            },
            "rights": {
              "description": "Rigths",
              "allOf": [
                {
                  "$ref": "#/definitions/TagRights"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CategoryEnum": {
      "type": "string",
      "description": "Possible Clear After enums",
      "x-enumNames": [
        "Content",
        "Customer",
        "Project"
      ],
      "enum": [
        "Content",
        "Customer",
        "Project"
      ]
    },
    "SharedTagLastAssignee": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type last assignee ",
          "required": [
            "$type"
          ],
          "properties": {
            "userId": {
              "type": "string",
              "description": "Id of assigned user"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ThreadingEnum": {
      "type": "string",
      "description": "Threading mode for syncing",
      "x-enumNames": [
        "Recipient",
        "Standard"
      ],
      "enum": [
        "Recipient",
        "Standard"
      ]
    },
    "OnlineMeeting": {
      "type": "object",
      "description": "Online meeting information (hangouts, meets, teams, zoom)",
      "properties": {
        "provider": {
          "type": "string",
          "description": "Provider string (Returned by GET /appointment/list/options)"
        },
        "joinUrl": {
          "type": "string",
          "description": "Conference/online-meeting url"
        },
        "joinPhoneNumbers": {
          "type": "array",
          "description": "Conference/online-meeting phone numbers",
          "items": {
            "type": "string"
          }
        },
        "meetingId": {
          "type": "string",
          "description": "Conference/online-meeting ID. Can be zoom room ID, google meets ID, ... Leave empty when creating new."
        },
        "password": {
          "type": "string",
          "description": "Password or pin for the meeting"
        },
        "name": {
          "type": "string",
          "description": "Provider name or meeting name"
        },
        "iconUrl": {
          "type": "string",
          "description": "Provider icon or meeting specific icon"
        }
      }
    },
    "CardShared": {
      "allOf": [
        {
          "$ref": "#/definitions/CardBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card shared resource (used for loop-in cards)",
          "required": [
            "$type"
          ],
          "properties": {
            "sourceResource": {
              "description": "Source resource that snapshot for this one was taken from.",
              "allOf": [
                {
                  "$ref": "#/definitions/ResourceBase"
                }
              ]
            },
            "snapshotResource": {
              "description": "Snapshot resource that this one was copied from.",
              "allOf": [
                {
                  "$ref": "#/definitions/ResourceBase"
                }
              ]
            },
            "comments": {
              "description": "Comments on a card.",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentChat"
                }
              ]
            },
            "isLive": {
              "type": "boolean",
              "description": "Indicates if shared card has two-way comments sync to/from original card enabled.\nIf not set, comment create attempt to SnapshotResource will fail with HTTP 403 and\nnew comments on original card won't get propagated to SnapshotResource."
            },
            "appointmentLink": {
              "description": "Link between corresponding CardShared and CardAppointment",
              "allOf": [
                {
                  "$ref": "#/definitions/CardAppointment"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfCommentChat": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/CommentChat"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CommentChat": {
      "allOf": [
        {
          "$ref": "#/definitions/CommentBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Comment chat resource",
          "required": [
            "isFolderingActionUpdate",
            "$type"
          ],
          "properties": {
            "comment": {
              "type": "string",
              "description": "Content of comment"
            },
            "shareList": {
              "description": "Contacts that were able to see the comment at it's creation",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "quoteCommentId": {
              "type": "string",
              "description": "Quote comment id"
            },
            "isFolderingActionUpdate": {
              "type": "boolean",
              "description": "Is foldering Action Update information"
            },
            "iFrameContent": {
              "description": "Iframe content",
              "allOf": [
                {
                  "$ref": "#/definitions/IFrameContent"
                }
              ]
            },
            "topicParent": {
              "description": "topic parent id (can be commentId or cardId)",
              "allOf": [
                {
                  "$ref": "#/definitions/ResourceBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "IFrameContent": {
      "type": "object",
      "description": "iframe content",
      "properties": {
        "url": {
          "type": "string",
          "description": "HTML content of preview"
        },
        "width": {
          "type": "integer",
          "description": "width of iframe",
          "format": "int32"
        },
        "height": {
          "type": "integer",
          "description": "height of iframe",
          "format": "int32"
        },
        "iFrameModalDefinition": {
          "description": "Iframe modal definition",
          "allOf": [
            {
              "$ref": "#/definitions/IFrameModalDefinition"
            }
          ]
        }
      }
    },
    "IFrameModalDefinition": {
      "type": "object",
      "description": "IFrame modal definition",
      "properties": {
        "title": {
          "type": "string",
          "description": "Title of the Modal"
        },
        "introMessage": {
          "type": "string",
          "description": "Intro Message of the Modal"
        },
        "identifier": {
          "type": "string",
          "description": "Identifier of the modal that will be sent to integration (either bot identifier or anything else)"
        },
        "width": {
          "type": "string",
          "description": "Width of the modal (any UI possible width, e.g. 80%, 500px...)"
        }
      }
    },
    "CardDraft": {
      "allOf": [
        {
          "$ref": "#/definitions/CardBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card draft replies (used to store collaboration edit comments)",
          "required": [
            "$type"
          ],
          "properties": {
            "parentCard": {
              "description": "Reference to card id if exists (when you reply)",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "parentComment": {
              "description": "Reference to comment created with this draft",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBase"
                }
              ]
            },
            "commentDraft": {
              "description": "Get comment draft id",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentDraft"
                }
              ]
            },
            "comments": {
              "description": "Comments on a card.",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentChat"
                }
              ]
            },
            "modifiedDate": {
              "type": "string",
              "description": "Time of card modified",
              "format": "date-time"
            },
            "draftType": {
              "description": "Draft Type",
              "allOf": [
                {
                  "$ref": "#/definitions/DraftType"
                }
              ]
            },
            "sendLaterDate": {
              "type": "string",
              "description": "Time of send later",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CommentDraft": {
      "allOf": [
        {
          "$ref": "#/definitions/CommentBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Comment draft",
          "required": [
            "draftType",
            "$type"
          ],
          "properties": {
            "draftOnCardId": {
              "type": "string",
              "description": "Reference to card id if exists (when you reply)"
            },
            "draftType": {
              "description": "Draft Type",
              "allOf": [
                {
                  "$ref": "#/definitions/DraftType"
                }
              ]
            },
            "from": {
              "description": "From on comment if different as author",
              "allOf": [
                {
                  "$ref": "#/definitions/ContactBase"
                }
              ]
            },
            "to": {
              "description": "To recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "cc": {
              "description": "CC recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "bcc": {
              "description": "BCC recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "replyTo": {
              "description": "ReplyTo recipients on comment",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "contentFileId": {
              "type": "string",
              "description": "Get draft body id"
            },
            "sendAs": {
              "type": "string",
              "description": "Send as (shared inbox)"
            },
            "sendAsGroupId": {
              "type": "string",
              "description": "Send as shared groupId (authorization)"
            },
            "sendLaterDateTime": {
              "type": "string",
              "description": "Send as shared groupId (authorization)",
              "format": "date-time"
            },
            "sendDraftError": {
              "type": "string",
              "description": "Send later error"
            },
            "editorState": {
              "description": "Draft Editor State",
              "allOf": [
                {
                  "$ref": "#/definitions/DraftEditorState"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "DraftType": {
      "type": "string",
      "description": "Possible Draft Types",
      "x-enumNames": [
        "Private",
        "Shared"
      ],
      "enum": [
        "Private",
        "Shared"
      ]
    },
    "DraftEditorState": {
      "type": "object",
      "description": "Draft editor state - who is editing draft and when",
      "properties": {
        "editor": {
          "description": "current user who edit draft",
          "allOf": [
            {
              "$ref": "#/definitions/User"
            }
          ]
        },
        "date": {
          "type": "string",
          "description": "Start date of edit",
          "format": "date-time"
        }
      }
    },
    "CardChat": {
      "allOf": [
        {
          "$ref": "#/definitions/CardBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card chat resource (used for chats only)",
          "required": [
            "$type"
          ],
          "properties": {
            "comments": {
              "description": "List of chat comments",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentChat"
                }
              ]
            },
            "iFrameContent": {
              "description": "iframe content",
              "allOf": [
                {
                  "$ref": "#/definitions/IFrameContent"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CardTemplate": {
      "allOf": [
        {
          "$ref": "#/definitions/CardBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card template replies (used to store template reply comments)",
          "required": [
            "$type"
          ],
          "properties": {
            "templates": {
              "description": "Comments on a card.",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentTemplate"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfCommentTemplate": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/CommentTemplate"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CommentTemplate": {
      "allOf": [
        {
          "$ref": "#/definitions/CommentBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Comment template",
          "required": [
            "$type"
          ],
          "properties": {
            "body": {
              "description": "Content of template",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBody"
                }
              ]
            },
            "shareList": {
              "description": "Only one group allowed on ShareList,\nIf ShareList is empty, response will be created in personal context",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "description": {
              "type": "string",
              "description": "Description (title) of the template comment."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CardSharedTopic": {
      "allOf": [
        {
          "$ref": "#/definitions/CardBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Card shared topic resource (used for loop-in cards)",
          "required": [
            "$type"
          ],
          "properties": {
            "topicResource": {
              "description": "Source resource that snapshot for this one was taken from.",
              "allOf": [
                {
                  "$ref": "#/definitions/ResourceBase"
                }
              ]
            },
            "authorizationCard": {
              "description": "Card of topic resource",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "comments": {
              "description": "Comments on a card.",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentChat"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfFile": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/File"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "File": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "File resource",
          "required": [
            "size",
            "hidden",
            "$type"
          ],
          "properties": {
            "created": {
              "type": "string",
              "description": "Date time when file was created",
              "format": "date-time"
            },
            "owner": {
              "description": "File owner",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "hash": {
              "type": "string",
              "description": "File hash"
            },
            "size": {
              "type": "integer",
              "description": "File size (in bytes)",
              "format": "int64"
            },
            "hidden": {
              "type": "boolean",
              "description": "File is hidden"
            },
            "thumbnailInfo": {
              "description": "File's thumbnail info",
              "allOf": [
                {
                  "$ref": "#/definitions/ThumbnailInfo"
                }
              ]
            },
            "parentComment": {
              "$ref": "#/definitions/CommentBase"
            },
            "parentCard": {
              "description": "Originating card of file",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "urlLink": {
              "type": "string",
              "description": "Url link of attachment - with autorization (signature) and expire date"
            },
            "width": {
              "type": "integer",
              "description": "Width (image width)",
              "format": "int32"
            },
            "height": {
              "type": "integer",
              "description": "Height (image height)",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ThumbnailInfo": {
      "type": "object",
      "description": "Thumbnail info resource",
      "required": [
        "supported",
        "failed",
        "ready"
      ],
      "properties": {
        "supported": {
          "type": "boolean",
          "description": "If thumbnail for this file type is supported (do not GET thumbnail if this is set to false)"
        },
        "failed": {
          "type": "boolean",
          "description": "If thumbnail generation for this file has failed (do not GET thumbnail if this is set to true)"
        },
        "ready": {
          "type": "boolean",
          "description": "If thumbnail for this file is ready (you can now GET thumbnail if this is set to true)"
        },
        "pages": {
          "description": "List of thumbnail pages",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfThumbnailPage"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfThumbnailPage": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ThumbnailPage"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ThumbnailPage": {
      "type": "object",
      "description": "Thumbnail page",
      "required": [
        "pageNumber",
        "width",
        "height",
        "hasPdf"
      ],
      "properties": {
        "pageNumber": {
          "type": "integer",
          "description": "Page number",
          "format": "int32"
        },
        "width": {
          "type": "integer",
          "description": "Page width",
          "format": "int32"
        },
        "height": {
          "type": "integer",
          "description": "Page height",
          "format": "int32"
        },
        "hasPdf": {
          "type": "boolean",
          "description": "PDF exists for this file"
        }
      }
    },
    "Signature": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Signature resource",
          "required": [
            "isDefault",
            "$type"
          ],
          "properties": {
            "text": {
              "type": "string",
              "description": "Signature text (BB code)"
            },
            "html": {
              "type": "string",
              "description": "Signature HTML"
            },
            "isDefault": {
              "type": "boolean",
              "description": "Signature is default"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SyncSettingsBase": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Sync settings base resource",
          "required": [
            "$type"
          ],
          "properties": {
            "isEnabled": {
              "type": "boolean",
              "description": "Sync is enabled"
            },
            "isPaused": {
              "type": "boolean",
              "description": "Sync is paused (only contact sync is performed, no emails are imported)"
            },
            "importDayRange": {
              "type": "integer",
              "description": "Email import day range for the past",
              "format": "int32"
            },
            "threadingMode": {
              "description": "Threading Mode",
              "allOf": [
                {
                  "$ref": "#/definitions/ThreadingEnum"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SyncSettingsExchange": {
      "allOf": [
        {
          "$ref": "#/definitions/SyncSettingsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Sync settings exchange on premise resource (only applicable for exchange users)",
          "required": [
            "$type"
          ],
          "properties": {
            "email": {
              "type": "string",
              "description": "User's email"
            },
            "secret": {
              "type": "string",
              "description": "User's exchange secret (never gets sent out by the server, only set by client)"
            },
            "userName": {
              "type": "string",
              "description": "User's exchange user name"
            },
            "domain": {
              "type": "string",
              "description": "User's exchange domain"
            },
            "serverUri": {
              "type": "string",
              "description": "User's exchange server URI"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SyncSettingsGmail": {
      "allOf": [
        {
          "$ref": "#/definitions/SyncSettingsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Sync settings Gmail resource (only applicable for Gmail users)",
          "required": [
            "$type"
          ],
          "properties": {
            "authCode": {
              "type": "string",
              "description": "Google authentication code"
            },
            "refreshToken": {
              "type": "string",
              "description": "Google refresh token"
            },
            "email": {
              "type": "string",
              "description": "User's email address"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SyncSettingsImapSmtp": {
      "allOf": [
        {
          "$ref": "#/definitions/SyncSettingsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Sync settings IMAP/SMTP resource (only applicable for IMAP/SMTP users)",
          "required": [
            "imapPort",
            "smtpPort",
            "sslRequired",
            "$type"
          ],
          "properties": {
            "email": {
              "type": "string",
              "description": "User's email"
            },
            "imapHost": {
              "type": "string",
              "description": "User's imap server address"
            },
            "imapPort": {
              "type": "integer",
              "description": "User's imap server port",
              "format": "int32"
            },
            "imapUsername": {
              "type": "string",
              "description": "User's imap username"
            },
            "imapPassword": {
              "type": "string",
              "description": "User's imap password (never gets sent out by the server, only set by client)"
            },
            "smtpHost": {
              "type": "string",
              "description": "User's smtp server address"
            },
            "smtpPort": {
              "type": "integer",
              "description": "User's smtp server port",
              "format": "int32"
            },
            "smtpUsername": {
              "type": "string",
              "description": "User's smtp username"
            },
            "smtpPassword": {
              "type": "string",
              "description": "User's smtp secret (never gets sent out by the server, only set by client)"
            },
            "sslRequired": {
              "type": "boolean",
              "description": "Is SSL required"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SyncSettingsMicrosoft": {
      "allOf": [
        {
          "$ref": "#/definitions/SyncSettingsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Sync settings Microsoft resource (only applicable for Microsoft Graph users)",
          "required": [
            "$type"
          ],
          "properties": {
            "authCode": {
              "type": "string",
              "description": "Authentication code"
            },
            "redirectUri": {
              "type": "string",
              "description": "Redirect URI used when obtaining authorization code"
            },
            "codeVerifier": {
              "type": "string",
              "description": "The same code_verifier that was used to obtain the authorization_code. Required if PKCE was used in the authorization code grant request."
            },
            "refreshToken": {
              "type": "string",
              "description": "Microsoft refresh token"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SyncSettingsRemoteImap": {
      "allOf": [
        {
          "$ref": "#/definitions/SyncSettingsBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Sync settings for Remote Imap service",
          "required": [
            "imapPort",
            "smtpPort",
            "sslRequired",
            "$type"
          ],
          "properties": {
            "email": {
              "type": "string",
              "description": "User's email"
            },
            "imapHost": {
              "type": "string",
              "description": "IMAP host, e.g. imap.aviato.com"
            },
            "imapPort": {
              "type": "integer",
              "description": "IMAP port",
              "format": "int32"
            },
            "imapUsername": {
              "type": "string",
              "description": "IMAP username"
            },
            "imapPassword": {
              "type": "string",
              "description": "IMAP password"
            },
            "smtpHost": {
              "type": "string",
              "description": "SMTP host, e.g. smtp.aviato.net"
            },
            "smtpPort": {
              "type": "integer",
              "description": "SMTP port",
              "format": "int32"
            },
            "smtpUsername": {
              "type": "string",
              "description": "SMTP username"
            },
            "smtpPassword": {
              "type": "string",
              "description": "SMTP password"
            },
            "sslRequired": {
              "type": "boolean",
              "description": "Is SSL required"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AvatarBase": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Avatar base resource.",
          "x-abstract": true,
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AvatarContact": {
      "allOf": [
        {
          "$ref": "#/definitions/AvatarBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "User avatar resource.",
          "required": [
            "$type"
          ],
          "properties": {
            "contact": {
              "description": "Avatar parent contact (user or group).",
              "allOf": [
                {
                  "$ref": "#/definitions/ContactBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SubscriptionLicense": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "License resource",
          "required": [
            "numLicenses",
            "subscriptionStatus",
            "classificationEnabled",
            "aiEnabled",
            "categoryEnabled",
            "kioskModeEnabled",
            "directLoopInboxEnabled",
            "bumpSettings",
            "$type"
          ],
          "properties": {
            "members": {
              "description": "Subcription memebers",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfSubscriptionMember"
                }
              ]
            },
            "subscriptionType": {
              "description": "Subscription type",
              "allOf": [
                {
                  "$ref": "#/definitions/SubscriptionType"
                }
              ]
            },
            "validUntil": {
              "type": "string",
              "description": "Valid until",
              "format": "date-time"
            },
            "numLicenses": {
              "type": "integer",
              "description": "Num of licenses",
              "format": "int32"
            },
            "details": {
              "description": "Subscription Details",
              "allOf": [
                {
                  "$ref": "#/definitions/SubscriptionDetails"
                }
              ]
            },
            "subscriptionStatus": {
              "description": "Subscription Status",
              "allOf": [
                {
                  "$ref": "#/definitions/SubscriptionStatusType"
                }
              ]
            },
            "classificationEnabled": {
              "type": "boolean",
              "description": "Classification enabled"
            },
            "aiEnabled": {
              "type": "boolean",
              "description": "AI enabled"
            },
            "categoryEnabled": {
              "type": "boolean",
              "description": "Category enabled"
            },
            "kioskModeEnabled": {
              "type": "boolean",
              "description": "Kiosk mode enabled"
            },
            "directLoopInboxEnabled": {
              "type": "boolean",
              "description": "Direct LoopInbox enabled (rail Inbox opens LoopInbox without sidebar)"
            },
            "handleTimeSettings": {
              "description": "HandleTime settings",
              "allOf": [
                {
                  "$ref": "#/definitions/HandleTimeSettings"
                }
              ]
            },
            "uiSettings": {
              "description": "UI Settings",
              "allOf": [
                {
                  "$ref": "#/definitions/UISettings"
                }
              ]
            },
            "logo": {
              "type": "string",
              "description": "Workspace Logo"
            },
            "bumpSettings": {
              "description": "bump settings",
              "allOf": [
                {
                  "$ref": "#/definitions/BumpSettingsType"
                }
              ]
            },
            "purgeSettings": {
              "description": "Purge Settings",
              "allOf": [
                {
                  "$ref": "#/definitions/PurgeSettings"
                }
              ]
            },
            "profileSettings": {
              "description": "Profile Settings",
              "allOf": [
                {
                  "$ref": "#/definitions/ProfileSettings"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfSubscriptionMember": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SubscriptionMember"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "SubscriptionMember": {
      "type": "object",
      "description": "Memebrs",
      "required": [
        "role",
        "subscriptionMemberType"
      ],
      "properties": {
        "user": {
          "description": "Member user",
          "allOf": [
            {
              "$ref": "#/definitions/ContactBase"
            }
          ]
        },
        "role": {
          "description": "Role",
          "allOf": [
            {
              "$ref": "#/definitions/SubscriptionMemberRole"
            }
          ]
        },
        "subscriptionMemberType": {
          "description": "type",
          "allOf": [
            {
              "$ref": "#/definitions/SubscriptionMemberType"
            }
          ]
        },
        "paymentStatus": {
          "type": "string",
          "description": "Payment status - ttemporary remove when FE(dta) will save this document because this is current state"
        }
      }
    },
    "SubscriptionMemberRole": {
      "type": "string",
      "description": "Subscription Role types",
      "x-enumNames": [
        "Owner",
        "Admin",
        "Member"
      ],
      "enum": [
        "Owner",
        "Admin",
        "Member"
      ]
    },
    "SubscriptionMemberType": {
      "type": "string",
      "description": "Subscription types",
      "x-enumNames": [
        "User",
        "SharedInbox",
        "Personal",
        "SharedInboxAccount",
        "Bot"
      ],
      "enum": [
        "User",
        "SharedInbox",
        "Personal",
        "SharedInboxAccount",
        "Bot"
      ]
    },
    "SubscriptionType": {
      "type": "object",
      "description": "Subscription type",
      "properties": {
        "id": {
          "type": "string",
          "description": "Id of subcription type"
        },
        "name": {
          "type": "string",
          "description": "name of subscription type"
        }
      }
    },
    "SubscriptionDetails": {
      "type": "object",
      "description": "Subscription type",
      "properties": {
        "vouchers": {
          "description": "Vourchers",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfSubscriptionVoucher"
            }
          ]
        },
        "paidAccounts": {
          "description": "PaidAccounts",
          "allOf": [
            {
              "$ref": "#/definitions/SubscriptionPaidAccounts"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfSubscriptionVoucher": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SubscriptionVoucher"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "SubscriptionVoucher": {
      "type": "object",
      "description": "Vouchers",
      "required": [
        "valid"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Code"
        },
        "valid": {
          "type": "boolean",
          "description": "Valid"
        },
        "validationMessage": {
          "type": "string",
          "description": "Validation message"
        }
      }
    },
    "SubscriptionPaidAccounts": {
      "type": "object",
      "description": "Paid accounts",
      "required": [
        "users",
        "sharedInbox",
        "personal",
        "teams"
      ],
      "properties": {
        "users": {
          "type": "integer",
          "description": "users count",
          "format": "int32"
        },
        "sharedInbox": {
          "type": "integer",
          "description": "shared inbox count",
          "format": "int32"
        },
        "personal": {
          "type": "integer",
          "description": "personal count",
          "format": "int32"
        },
        "teams": {
          "type": "integer",
          "description": "teams count",
          "format": "int32"
        }
      }
    },
    "SubscriptionStatusType": {
      "type": "string",
      "description": "Subscription Status types",
      "x-enumNames": [
        "Trial",
        "Suspended",
        "Active"
      ],
      "enum": [
        "Trial",
        "Suspended",
        "Active"
      ]
    },
    "HandleTimeSettings": {
      "type": "object",
      "description": "Handle Time Settings",
      "required": [
        "isVisible",
        "isEnabled",
        "idleThresholdSeconds",
        "maxTimeCapSeconds"
      ],
      "properties": {
        "isVisible": {
          "type": "boolean",
          "description": "Handle Time is visible"
        },
        "isEnabled": {
          "type": "boolean",
          "description": "Handle Time is enabled"
        },
        "idleThresholdSeconds": {
          "type": "integer",
          "description": "Handle Time idle time",
          "format": "int32"
        },
        "maxTimeCapSeconds": {
          "type": "integer",
          "description": "Handle Time max time cap",
          "format": "int32"
        }
      }
    },
    "UISettings": {
      "type": "object",
      "description": "Represents configuration settings for user interface elements.",
      "required": [
        "areDefaultSchemeVisible"
      ],
      "properties": {
        "colorScheme": {
          "description": "Gets or sets the color scheme used for rendering visual elements.",
          "allOf": [
            {
              "$ref": "#/definitions/ColorScheme"
            }
          ]
        },
        "areDefaultSchemeVisible": {
          "type": "boolean",
          "description": "Gets or sets a value indicating whether the default color schemes are visible in the user interface."
        }
      }
    },
    "ColorScheme": {
      "type": "object",
      "description": "Represents a set of colors used to define a visual theme or appearance.",
      "properties": {
        "light": {
          "description": "Gets or sets the color palette used for light-themed user interfaces.",
          "allOf": [
            {
              "$ref": "#/definitions/ColorPalette"
            }
          ]
        },
        "dark": {
          "description": "Gets or sets the color palette used for dark mode themes.",
          "allOf": [
            {
              "$ref": "#/definitions/ColorPalette"
            }
          ]
        }
      }
    },
    "ColorPalette": {
      "type": "object",
      "description": "Represents a collection of colors that can be used to define a palette for graphical applications.",
      "properties": {
        "primary": {
          "description": "Gets or sets the primary color used for the component's visual appearance.",
          "allOf": [
            {
              "$ref": "#/definitions/Color"
            }
          ]
        },
        "secondary": {
          "description": "Gets or sets the secondary color used for the component's visual appearance.",
          "allOf": [
            {
              "$ref": "#/definitions/Color"
            }
          ]
        },
        "tertiary": {
          "description": "Gets or sets the tertiary color used for the current theme or visual element.",
          "allOf": [
            {
              "$ref": "#/definitions/Color"
            }
          ]
        }
      }
    },
    "Color": {
      "type": "object",
      "description": "Represents a color value, typically used to define colors in graphical applications or user interfaces.",
      "properties": {
        "base": {
          "type": "string",
          "description": "Gets or sets the base color (hex value of color)."
        },
        "contrast": {
          "type": "string",
          "description": "Gets or sets the contrast color (hex value of color)."
        }
      }
    },
    "BumpSettingsType": {
      "type": "string",
      "description": "Bump settings types",
      "x-enumNames": [
        "RepliesAndComments",
        "Comments",
        "Replies",
        "Never"
      ],
      "enum": [
        "RepliesAndComments",
        "Comments",
        "Replies",
        "Never"
      ]
    },
    "PurgeSettings": {
      "type": "object",
      "description": "Represents configuration settings for purge.",
      "required": [
        "purgeEnabled",
        "gracePeriod"
      ],
      "properties": {
        "purgeEnabled": {
          "type": "boolean",
          "description": "Purge is enabled"
        },
        "gracePeriod": {
          "type": "integer",
          "description": "Gets or sets grace period in days.",
          "format": "int32"
        }
      }
    },
    "ProfileSettings": {
      "type": "object",
      "description": "Represents the configuration settings for a user profile.",
      "required": [
        "profileEnabled"
      ],
      "properties": {
        "profileEnabled": {
          "type": "boolean",
          "description": "Gets or sets a value indicating whether profiling is enabled."
        }
      }
    },
    "Conversation": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Conversation type helper class",
          "required": [
            "cardType",
            "attachmentCount",
            "isStarred",
            "isUnread",
            "isSubscribed",
            "unreadPositionOffset",
            "newestUnreadPositionOffset",
            "modifiedDate",
            "viewSortDate",
            "hasAccessToLoop",
            "hasCalendarLink",
            "isLastCommentNotBump",
            "$type"
          ],
          "properties": {
            "cardId": {
              "type": "string",
              "description": "Conversation card id"
            },
            "cardType": {
              "description": "Conversation card type",
              "allOf": [
                {
                  "$ref": "#/definitions/CardType"
                }
              ]
            },
            "snapshotCard": {
              "description": "Snapshot card if card type is CardShared",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "attachmentCount": {
              "type": "integer",
              "description": "Number of attachments",
              "format": "int32"
            },
            "snippet": {
              "description": "Snippet Data",
              "allOf": [
                {
                  "$ref": "#/definitions/Snippet"
                }
              ]
            },
            "showInViews": {
              "type": "array",
              "description": "Which views this card belongs",
              "items": {
                "$ref": "#/definitions/ShowInViewObject"
              }
            },
            "draftTypes": {
              "type": "array",
              "description": "Types of Draft Conversation have",
              "items": {
                "$ref": "#/definitions/DraftType"
              }
            },
            "privateDraft": {
              "description": "First Private Draft Conversation have - old client",
              "allOf": [
                {
                  "$ref": "#/definitions/CardDraft"
                }
              ]
            },
            "privateDrafts": {
              "type": "array",
              "description": "Private Draft Conversation have",
              "items": {
                "$ref": "#/definitions/CardDraft"
              }
            },
            "sharedDraft": {
              "description": "First Shared Draft Conversation have - old clients",
              "allOf": [
                {
                  "$ref": "#/definitions/CardDraft"
                }
              ]
            },
            "sharedDrafts": {
              "type": "array",
              "description": "Shared Draft Conversation have",
              "items": {
                "$ref": "#/definitions/CardDraft"
              }
            },
            "isStarred": {
              "type": "boolean",
              "description": "Is conversation starred"
            },
            "isUnread": {
              "type": "boolean",
              "description": "Is conversation unread"
            },
            "isSubscribed": {
              "type": "boolean",
              "description": "Is conversation subscribed"
            },
            "unreadCount": {
              "description": "Unread cound object",
              "allOf": [
                {
                  "$ref": "#/definitions/UnreadCountObject"
                }
              ]
            },
            "unreadPositionOffset": {
              "type": "integer",
              "description": "Unread position offset",
              "format": "int32"
            },
            "unreadCommentId": {
              "type": "string",
              "description": "Unread comment id"
            },
            "newestUnreadPositionOffset": {
              "type": "integer",
              "description": "Newest Unread position offset",
              "format": "int32"
            },
            "newestUnreadCommentId": {
              "type": "string",
              "description": "Newest Unread comment id"
            },
            "sharedTags": {
              "description": "List of Shared Tags",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "tags": {
              "description": "List of Shared Tags",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "threadParticipants": {
              "description": "List of thread participants",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "shareList": {
              "description": "Share list",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "toList": {
              "description": "List of thread participants",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "modifiedDate": {
              "type": "string",
              "description": "Modified Date (last change on Conversation model)",
              "format": "date-time"
            },
            "viewSortDate": {
              "type": "string",
              "description": "View Sort Date",
              "format": "date-time"
            },
            "hasAccessToLoop": {
              "type": "boolean",
              "description": "Card has loop and authorization"
            },
            "commentCount": {
              "description": "Comment count object",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentCount"
                }
              ]
            },
            "viewExtraData": {
              "type": "array",
              "description": "Extra view Data",
              "items": {
                "$ref": "#/definitions/ViewExtraData"
              }
            },
            "lastComment": {
              "description": "Last comment on converstation",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBase"
                }
              ]
            },
            "lastMailComment": {
              "description": "Last mail comment on converstation",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBase"
                }
              ]
            },
            "appointmentLink": {
              "description": "Link between corresponding CardShared and CardAppointment",
              "allOf": [
                {
                  "$ref": "#/definitions/CardAppointment"
                }
              ]
            },
            "importedByContact": {
              "description": "ImportedByContact - first group card",
              "allOf": [
                {
                  "$ref": "#/definitions/Group"
                }
              ]
            },
            "replyToCard": {
              "description": "For Draft conversation reply card",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "attachments": {
              "type": "array",
              "description": "Attachments in conversation",
              "items": {
                "$ref": "#/definitions/ConversationAttachment"
              }
            },
            "channelType": {
              "type": "string",
              "description": "Channel type conversation"
            },
            "splitOptions": {
              "description": "Split options",
              "allOf": [
                {
                  "$ref": "#/definitions/SplitOptions"
                }
              ]
            },
            "draftSendLaterDate": {
              "type": "string",
              "description": "Draft Send Later Date",
              "format": "date-time"
            },
            "iFrameContent": {
              "description": "IFrame content",
              "allOf": [
                {
                  "$ref": "#/definitions/IFrameContent"
                }
              ]
            },
            "hasCalendarLink": {
              "type": "boolean",
              "description": "Calendar link exists"
            },
            "pinnedComments": {
              "type": "array",
              "description": "Gets or sets the list of comments that are pinned on conversation.",
              "items": {
                "type": "string"
              }
            },
            "isLastCommentNotBump": {
              "type": "boolean",
              "description": "Gets or sets a value indicating whether the last comment in the conversation is a not-bumped comment."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CardType": {
      "type": "string",
      "description": "Card types",
      "x-enumNames": [
        "CardMail",
        "CardAppointment",
        "CardChat",
        "CardShared",
        "CardTemplates",
        "CardCopied",
        "CardDraft",
        "CardSharedTopic"
      ],
      "enum": [
        "CardMail",
        "CardAppointment",
        "CardChat",
        "CardShared",
        "CardTemplates",
        "CardCopied",
        "CardDraft",
        "CardSharedTopic"
      ]
    },
    "Snippet": {
      "type": "object",
      "description": "Snippet Object",
      "required": [
        "snippetType"
      ],
      "properties": {
        "sender": {
          "description": "Last Sender",
          "allOf": [
            {
              "$ref": "#/definitions/ContactBase"
            }
          ]
        },
        "snippetType": {
          "description": "Snippet Type (Chat/Email)",
          "allOf": [
            {
              "$ref": "#/definitions/SnippetType"
            }
          ]
        },
        "content": {
          "type": "string",
          "description": "Snippet Content"
        },
        "contentBbCode": {
          "type": "string",
          "description": "Snippet Content BbCode"
        },
        "contentHtml": {
          "type": "string",
          "description": "Snippet Content Html, set instead of ContentBbCode when the message was sent as HTML"
        }
      }
    },
    "SnippetType": {
      "type": "string",
      "description": "Possible Snippet Types",
      "x-enumNames": [
        "Chat",
        "Email"
      ],
      "enum": [
        "Chat",
        "Email"
      ]
    },
    "ShowInViewObject": {
      "type": "object",
      "description": "Show in view filter class",
      "required": [
        "view"
      ],
      "properties": {
        "view": {
          "description": "View Enum",
          "allOf": [
            {
              "$ref": "#/definitions/ViewEnum"
            }
          ]
        },
        "filter": {
          "description": "Filter Enum",
          "allOf": [
            {
              "$ref": "#/definitions/FilterEnum"
            }
          ]
        },
        "channelId": {
          "type": "string",
          "description": "Channel Id (groupId or contactId)"
        },
        "folderId": {
          "type": "string",
          "description": "Folder id"
        }
      }
    },
    "ViewEnum": {
      "type": "string",
      "description": "Possible View Types",
      "x-enumNames": [
        "LoopInbox",
        "PersonalInbox",
        "Channel"
      ],
      "enum": [
        "LoopInbox",
        "PersonalInbox",
        "Channel"
      ]
    },
    "UnreadCountObject": {
      "type": "object",
      "description": "Unread count object",
      "required": [
        "emailUnreadCount",
        "chatUnreadCount",
        "totalUnreadCount"
      ],
      "properties": {
        "emailUnreadCount": {
          "type": "integer",
          "description": "Email Unread Count",
          "format": "int32"
        },
        "chatUnreadCount": {
          "type": "integer",
          "description": "Chat unread count",
          "format": "int32"
        },
        "totalUnreadCount": {
          "type": "integer",
          "description": "Total unread count",
          "format": "int32"
        }
      }
    },
    "CommentCount": {
      "type": "object",
      "description": "Comment count object",
      "required": [
        "emailCount",
        "chatCount",
        "totalCount"
      ],
      "properties": {
        "emailCount": {
          "type": "integer",
          "description": "Email Count",
          "format": "int32"
        },
        "chatCount": {
          "type": "integer",
          "description": "Chat count",
          "format": "int32"
        },
        "totalCount": {
          "type": "integer",
          "description": "Total count",
          "format": "int32"
        }
      }
    },
    "ViewExtraData": {
      "type": "object",
      "description": "Extra view data",
      "required": [
        "viewExtraType",
        "date"
      ],
      "properties": {
        "viewExtraType": {
          "description": "View Extra type",
          "allOf": [
            {
              "$ref": "#/definitions/ViewExtraDataType"
            }
          ]
        },
        "date": {
          "type": "string",
          "description": "Extra Date",
          "format": "date-time"
        },
        "snippet": {
          "description": "Extra Snippet",
          "allOf": [
            {
              "$ref": "#/definitions/Snippet"
            }
          ]
        }
      }
    },
    "ViewExtraDataType": {
      "type": "string",
      "description": "Possible View Extra Data Type",
      "x-enumNames": [
        "Sent",
        "Draft"
      ],
      "enum": [
        "Sent",
        "Draft"
      ]
    },
    "ConversationAttachment": {
      "type": "object",
      "description": "Conversation attachment",
      "properties": {
        "attachment": {
          "description": "Attachment",
          "allOf": [
            {
              "$ref": "#/definitions/File"
            }
          ]
        }
      }
    },
    "SplitOptions": {
      "type": "object",
      "description": "Conversation split options",
      "required": [
        "state"
      ],
      "properties": {
        "state": {
          "description": "split state",
          "allOf": [
            {
              "$ref": "#/definitions/SplitStateEnum"
            }
          ]
        },
        "stateReason": {
          "type": "string",
          "description": "State reason"
        }
      }
    },
    "SplitStateEnum": {
      "type": "string",
      "description": "Split state enum",
      "x-enumNames": [
        "None",
        "Closed"
      ],
      "enum": [
        "None",
        "Closed"
      ]
    },
    "BadgeCount": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "BadgeCount object",
          "required": [
            "view",
            "unreadCount",
            "assignedCount",
            "$type"
          ],
          "properties": {
            "view": {
              "description": "View Enum ",
              "allOf": [
                {
                  "$ref": "#/definitions/ViewEnum"
                }
              ]
            },
            "filter": {
              "description": "Filter Enum",
              "allOf": [
                {
                  "$ref": "#/definitions/FilterEnum"
                }
              ]
            },
            "channelId": {
              "type": "string",
              "description": "Channel Id (groupId or contactId)"
            },
            "totalCount": {
              "type": "integer",
              "description": "Unread count",
              "format": "int32"
            },
            "unreadCount": {
              "type": "integer",
              "description": "Unread count",
              "format": "int32"
            },
            "assignedCount": {
              "type": "integer",
              "description": "Assigned count",
              "format": "int32"
            },
            "counts": {
              "description": "Unread counts",
              "allOf": [
                {
                  "$ref": "#/definitions/UnreadCountObject"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CommandBase": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Command base.",
          "required": [
            "$type"
          ],
          "properties": {
            "request": {
              "type": "string",
              "description": "command request"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SlashCommand": {
      "allOf": [
        {
          "$ref": "#/definitions/CommandBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "SlashCommand request",
          "required": [
            "$type"
          ],
          "properties": {
            "resourceIds": {
              "type": "array",
              "description": "Command on resource ids (batch)",
              "items": {
                "type": "string"
              }
            },
            "resourceId": {
              "type": "string",
              "description": "Command on resource id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OnboardingCommand": {
      "allOf": [
        {
          "$ref": "#/definitions/CommandBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "OnboardingCommand request",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "RawCommand": {
      "allOf": [
        {
          "$ref": "#/definitions/CommandBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "RawCommand request",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "CommandResponseBase": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Command response base.",
          "x-abstract": true,
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SlashCommandResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/CommandResponseBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "SlashCommand response",
          "required": [
            "$type"
          ],
          "properties": {
            "updatedResources": {
              "description": "List of resources mutated by integration webhook",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfResourceBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OnboardingCommandResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/CommandResponseBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "OnBoardingCommand response",
          "required": [
            "$type"
          ],
          "properties": {
            "onboardingConfig": {
              "description": "Onboarding config resource",
              "allOf": [
                {
                  "$ref": "#/definitions/OnboardingConfig"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "OnboardingConfig": {
      "type": "object",
      "description": "Onboarding config definition",
      "properties": {
        "landingView": {
          "description": "Landing view, that can be deterministic, e.g. \"smartInbox\" or pointing to a selected channel",
          "allOf": [
            {
              "$ref": "#/definitions/View"
            }
          ]
        },
        "viewOnboarding": {
          "description": "Onboarding steps per view",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfViewOnboarding"
            }
          ]
        }
      }
    },
    "View": {
      "type": "object",
      "description": "View definition",
      "properties": {
        "viewId": {
          "type": "string",
          "description": "View id"
        },
        "channel": {
          "description": "Channel info, if view is channel view",
          "allOf": [
            {
              "$ref": "#/definitions/ContactBase"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfViewOnboarding": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ViewOnboarding"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ViewOnboarding": {
      "type": "object",
      "description": "View onboarding definition",
      "required": [
        "stepCount"
      ],
      "properties": {
        "viewId": {
          "type": "string",
          "description": "View id"
        },
        "stepCount": {
          "type": "integer",
          "description": "Number of bullets to show",
          "format": "int32"
        },
        "steps": {
          "description": "Onboarding steps taken in a specific view",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfOnboardingStep"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfOnboardingStep": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/OnboardingStep"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "OnboardingStep": {
      "type": "object",
      "description": "Onboarding step definition",
      "required": [
        "collapseMedia"
      ],
      "properties": {
        "stepId": {
          "type": "string",
          "description": "Step id"
        },
        "component": {
          "description": "UI Component definition",
          "allOf": [
            {
              "$ref": "#/definitions/Component"
            }
          ]
        },
        "sideMenuExpanded": {
          "type": "string",
          "description": "UI Component menu expend definition"
        },
        "collapseMedia": {
          "type": "boolean",
          "description": "UI Component collapse media"
        }
      }
    },
    "Component": {
      "type": "object",
      "description": "UI component",
      "properties": {
        "type": {
          "type": "string",
          "description": "Component type"
        },
        "position": {
          "type": "string",
          "description": "Position"
        },
        "elements": {
          "type": "array",
          "description": "List of UI elements inside component",
          "items": {
            "$ref": "#/definitions/UIElement"
          }
        }
      }
    },
    "UIElement": {
      "type": "object",
      "description": "UI Element",
      "required": [
        "hideProgressDot"
      ],
      "properties": {
        "elementType": {
          "type": "string",
          "description": "Element type, e.g. media, title, description, button"
        },
        "subType": {
          "type": "string",
          "description": "Element subtype e.g. skip, image, lotti"
        },
        "backgroundColor": {
          "type": "string",
          "description": "Element background color"
        },
        "fontColor": {
          "type": "string",
          "description": "Element font color"
        },
        "content": {
          "type": "string",
          "description": "Element content"
        },
        "align": {
          "type": "string",
          "description": "Element alignment"
        },
        "deepLink": {
          "type": "string",
          "description": "Element deep link"
        },
        "hideProgressDot": {
          "type": "boolean",
          "description": "Flag indicating, that the progress dot should be hidden"
        }
      }
    },
    "RawCommandResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/CommandResponseBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "RawCommand response",
          "required": [
            "$type"
          ],
          "properties": {
            "rawResponse": {
              "type": "string",
              "description": "Onboarding config resource"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AvailabilityStatusList": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "License resource",
          "required": [
            "$type"
          ],
          "properties": {
            "availabilityStatuses": {
              "description": "availability status list",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfAvailabilityStatus"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfAvailabilityStatus": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/AvailabilityStatus"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "AvailabilityStatus": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Subscription availability status",
          "required": [
            "clearAfter",
            "enabledAssignments",
            "outOfOffice",
            "$type"
          ],
          "properties": {
            "workspaceId": {
              "type": "string",
              "description": "Availability Name "
            },
            "description": {
              "type": "string",
              "description": "Availability Description"
            },
            "emoji": {
              "type": "string",
              "description": "Availability Emoji "
            },
            "clearAfter": {
              "description": "Availability clear after in minutes ",
              "allOf": [
                {
                  "$ref": "#/definitions/AvailabilityClearAfterEnum"
                }
              ]
            },
            "enabledAssignments": {
              "type": "boolean",
              "description": "Availability available for assignments"
            },
            "outOfOffice": {
              "type": "boolean",
              "description": "Availability out of office "
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AvailabilityClearAfterEnum": {
      "type": "string",
      "description": "Possible Clear After enums",
      "x-enumNames": [
        "None",
        "Minutes_30",
        "Hours_1",
        "Hours_2",
        "Hours_4",
        "Hours_8",
        "Hours_12",
        "Days_1",
        "Days_2",
        "Days_3",
        "Days_7",
        "Days_14",
        "Today",
        "Tomorrow",
        "ThisWeek",
        "NextWeek",
        "NextBusinessDay"
      ],
      "enum": [
        "None",
        "Minutes_30",
        "Hours_1",
        "Hours_2",
        "Hours_4",
        "Hours_8",
        "Hours_12",
        "Days_1",
        "Days_2",
        "Days_3",
        "Days_7",
        "Days_14",
        "Today",
        "Tomorrow",
        "ThisWeek",
        "NextWeek",
        "NextBusinessDay"
      ]
    },
    "ProfileUser": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Profile user",
          "required": [
            "contextType",
            "isPublic",
            "companyLinkManual",
            "weight",
            "$type"
          ],
          "properties": {
            "contextType": {
              "description": "Indicates whether this profile belongs to a workspace or a private user context.",
              "allOf": [
                {
                  "$ref": "#/definitions/ProfileContextType"
                }
              ]
            },
            "isPublic": {
              "type": "boolean",
              "description": "Indicates whether this profile is public (has identificators) or private."
            },
            "company": {
              "type": "string",
              "description": "Company associated with this profile."
            },
            "companyId": {
              "type": "string",
              "description": "Id of the linked Company entity, or null if unlinked. The only company representation\nused by new profiles — resolve the display name via this id, it is never denormalized."
            },
            "companyLinkManual": {
              "type": "boolean",
              "description": "True when the Company link was set/cleared manually. A manual link is pinned: the domain\nauto-association job never re-links or switches it."
            },
            "title": {
              "type": "string",
              "description": "Title associated with this profile."
            },
            "userData": {
              "description": "Custom data for the current user on this profile.",
              "allOf": [
                {
                  "$ref": "#/definitions/ProfileUserData"
                }
              ]
            },
            "profileIdentificators": {
              "type": "array",
              "description": "Public Identificators linking.",
              "items": {
                "$ref": "#/definitions/ProfileUserIdentificator"
              }
            },
            "weight": {
              "type": "number",
              "description": "Usage weight (contact interaction frequency) for the current user on this profile.",
              "format": "decimal"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ProfileContextType": {
      "type": "string",
      "description": "Defines whether a profile context is shared (workspace) or private (user).",
      "x-enumNames": [
        "Workspace",
        "Virtual"
      ],
      "enum": [
        "Workspace",
        "Virtual"
      ]
    },
    "ProfileUserData": {
      "type": "object",
      "description": "Per-user custom data stored on a profile.",
      "properties": {
        "nickName": {
          "type": "string",
          "description": "Custom nickname for the profile."
        },
        "notes": {
          "type": "string",
          "description": "Free-text notes about this profile."
        },
        "profileIdentificators": {
          "type": "array",
          "description": "Private identificators visible only to this user.",
          "items": {
            "$ref": "#/definitions/ProfileUserIdentificator"
          }
        }
      }
    },
    "ProfileUserIdentificator": {
      "allOf": [
        {
          "$ref": "#/definitions/ProfileUserIdentificatorBase"
        },
        {
          "type": "object",
          "description": "Links a profile to a specific user account.",
          "properties": {
            "userId": {
              "type": "string",
              "description": "User ID."
            },
            "identificator": {
              "type": "string",
              "description": "Unique string identificator for the user in this context."
            }
          }
        }
      ]
    },
    "ProfileUserIdentificatorBase": {
      "type": "object",
      "description": "Links a profile to a specific user account.",
      "required": [
        "userType"
      ],
      "properties": {
        "userIdentificator": {
          "type": "string",
          "description": "User's Identificator for EmailUser is email for phone is telephone, ...."
        },
        "userType": {
          "description": "User's Type",
          "allOf": [
            {
              "$ref": "#/definitions/UserType"
            }
          ]
        }
      }
    },
    "ActivityParticipants": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "People who have been in touch with a contact or company, most recent first.",
          "required": [
            "totalSize",
            "isPartial",
            "$type"
          ],
          "properties": {
            "dateTimeStart": {
              "type": "string",
              "description": "Start of the requested time span (UTC). Null means no lower limit was applied.",
              "format": "date-time"
            },
            "dateTimeEnd": {
              "type": "string",
              "description": "End of the requested time span (UTC). Null means the span ends at request time.",
              "format": "date-time"
            },
            "participants": {
              "type": "array",
              "description": "Participants ordered by LastTimestamp, newest first.",
              "items": {
                "$ref": "#/definitions/ActivityParticipant"
              }
            },
            "totalSize": {
              "type": "integer",
              "description": "Total number of distinct participants found in the scanned comments.",
              "format": "int32"
            },
            "isPartial": {
              "type": "boolean",
              "description": "True when the scan stopped at its comment limit before reaching the start of the span, so\nolder participants and older comment counts may be missing."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ActivityParticipant": {
      "type": "object",
      "description": "A person on our side who has been in touch with a contact — the author of an outgoing comment\nor a To recipient of an incoming one. Groups (shared inboxes, teams) are never participants.",
      "required": [
        "commentCount"
      ],
      "properties": {
        "contactId": {
          "type": "string",
          "description": "Contact id of the participant as it appears on the comments."
        },
        "lastTimestamp": {
          "type": "string",
          "description": "UTC timestamp of the most recent comment this participant was on.",
          "format": "date-time"
        },
        "lastConversationId": {
          "type": "string",
          "description": "Id of the conversation the most recent comment belongs to."
        },
        "commentCount": {
          "type": "integer",
          "description": "Number of scanned comments this participant was on.",
          "format": "int32"
        }
      }
    },
    "ProfileUserSearch": {
      "allOf": [
        {
          "$ref": "#/definitions/ProfileUser"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Profile user returned from a search/list query, extended with match context.",
          "required": [
            "$type"
          ],
          "properties": {
            "matchedIdentificatorIds": {
              "type": "array",
              "description": "Subset of the requested identificatorIds filter that matched this profile.\nOnly populated when the request included an identificatorIds filter.",
              "items": {
                "type": "string"
              }
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "Company": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "description": "A workspace-shared Company that groups profiles belonging to the same organization.",
          "properties": {
            "domains": {
              "type": "array",
              "description": "0-n email domains owned by this Company. A domain belongs to exactly one Company per workspace.",
              "items": {
                "type": "string"
              }
            },
            "logo": {
              "type": "string",
              "description": "Manually uploaded logo link. No third-party favicon resolution in v1."
            },
            "description": {
              "type": "string",
              "description": "Free-text description."
            },
            "externalId": {
              "type": "string",
              "description": "External CRM/ERP id. Unique within the workspace if set."
            },
            "profileCount": {
              "type": "integer",
              "description": "Number of workspace profiles linked to this Company that the caller can see. Only populated when\nrequested with ?with=profileCount on a single-company get; read-only, ignored on create/update.",
              "format": "int32"
            }
          }
        }
      ]
    },
    "MultiContact": {
      "allOf": [
        {
          "$ref": "#/definitions/ContactBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Multi contact resource.",
          "required": [
            "$type"
          ],
          "properties": {
            "contacts": {
              "description": "List of contacts.",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfContactBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "TimedTag": {
      "allOf": [
        {
          "$ref": "#/definitions/Tag"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Tag that carries datetime information, e.g. snooze",
          "required": [
            "dueDate",
            "$type"
          ],
          "properties": {
            "dueDate": {
              "type": "string",
              "description": "Due date of timed tag",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "TagLabel": {
      "allOf": [
        {
          "$ref": "#/definitions/Tag"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Tag that carries datetime information, e.g. snooze",
          "required": [
            "deleted",
            "$type"
          ],
          "properties": {
            "deleted": {
              "type": "boolean",
              "description": "Deleted Flag"
            },
            "parentTagId": {
              "type": "string",
              "description": "Parent tag id"
            },
            "color": {
              "type": "string",
              "description": "Tag color"
            },
            "description": {
              "type": "string",
              "description": "Description"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SubscriptionLicensePatchRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "License resource for patch request",
          "required": [
            "$type"
          ],
          "properties": {
            "logo": {
              "type": "string",
              "description": "Workspace Logo"
            },
            "uiSettings": {
              "description": "UI Settings",
              "allOf": [
                {
                  "$ref": "#/definitions/UISettings"
                }
              ]
            },
            "bumpSettings": {
              "description": "bump settings",
              "allOf": [
                {
                  "$ref": "#/definitions/BumpSettings"
                }
              ]
            },
            "purgeSettings": {
              "description": "purge settings",
              "allOf": [
                {
                  "$ref": "#/definitions/PurgeSettings"
                }
              ]
            },
            "profileSettings": {
              "description": "profile settings",
              "allOf": [
                {
                  "$ref": "#/definitions/ProfileSettings"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "BumpSettings": {
      "type": "object",
      "description": "Represents the configuration settings for bump behavior.",
      "required": [
        "bumpSettingsType"
      ],
      "properties": {
        "bumpSettingsType": {
          "description": "bump settings",
          "allOf": [
            {
              "$ref": "#/definitions/BumpSettingsType"
            }
          ]
        }
      }
    },
    "Integration": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Integration type helper class",
          "required": [
            "integrationType",
            "$type"
          ],
          "properties": {
            "integrationType": {
              "description": "Integration type",
              "allOf": [
                {
                  "$ref": "#/definitions/IntegrationType"
                }
              ]
            },
            "apiKey": {
              "type": "string",
              "description": "APIKey"
            },
            "iFrameURL": {
              "type": "string",
              "description": "IframeURL"
            },
            "pinned": {
              "type": "boolean",
              "description": "Pinned to sidebar"
            },
            "disconnected": {
              "type": "boolean",
              "description": "Disconnected"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "IntegrationType": {
      "type": "string",
      "description": "Possible Integration Types",
      "x-enumNames": [
        "Grammarly",
        "Custom",
        "OpenAI",
        "Insights",
        "HubSpot"
      ],
      "enum": [
        "Grammarly",
        "Custom",
        "OpenAI",
        "Insights",
        "HubSpot"
      ]
    },
    "SharedTagPurge": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type purge ",
          "required": [
            "purgeDate",
            "$type"
          ],
          "properties": {
            "purgeDate": {
              "type": "string",
              "description": "Purge date ",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SharedTagPreventPurge": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedTagBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Shared tag of type purge prevent ",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ActivityComment": {
      "type": "object",
      "description": "A single comment within an activity event group (sub-item shown when the group is expanded).",
      "required": [
        "direction"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Comment id."
        },
        "timestamp": {
          "type": "string",
          "description": "UTC timestamp of the comment.",
          "format": "date-time"
        },
        "author": {
          "description": "Author of this specific comment.",
          "allOf": [
            {
              "$ref": "#/definitions/User"
            }
          ]
        },
        "to": {
          "type": "array",
          "description": "Recipients of this comment.",
          "items": {
            "$ref": "#/definitions/ContactBase"
          }
        },
        "direction": {
          "description": "Whether this comment was sent by the customer or by the team.",
          "allOf": [
            {
              "$ref": "#/definitions/ActivityDirection"
            }
          ]
        },
        "snippet": {
          "type": "string",
          "description": "Plain-text snippet of the comment body."
        }
      }
    },
    "Response": {
      "type": "object",
      "discriminator": "$type",
      "description": "Response resource, usually used when something goes wrong",
      "required": [
        "$type"
      ],
      "properties": {
        "message": {
          "type": "string",
          "description": "Response message"
        },
        "errorCode": {
          "type": "string",
          "description": "Error code (list of error codes available at enums/ErrorCode)"
        },
        "$type": {
          "type": "string"
        }
      }
    },
    "ResponseConflict": {
      "allOf": [
        {
          "$ref": "#/definitions/Response"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Response conflict resource, sent if there was a conflict",
          "required": [
            "$type"
          ],
          "properties": {
            "postedResource": {
              "description": "Resource being created or updated.",
              "allOf": [
                {
                  "$ref": "#/definitions/ResourceBase"
                }
              ]
            },
            "conflictedResource": {
              "description": "Existing resource in conflict upon create or update event.",
              "allOf": [
                {
                  "$ref": "#/definitions/ResourceBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfCardAppointment": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/CardAppointment"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfAgendaSettings": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/AgendaSettings"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "AgendaSettings": {
      "type": "object",
      "description": "Online meeting information (hangouts, meets, teams, zoom)",
      "properties": {
        "onlineMeetings": {
          "description": "Available Online Meeting providers",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfOnlineMeeting"
            }
          ]
        },
        "sharedContext": {
          "description": "Provided only on GET /appointment/list/options",
          "allOf": [
            {
              "$ref": "#/definitions/Group"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfOnlineMeeting": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/OnlineMeeting"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "AuthExchange": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization exchange on premise resource",
          "required": [
            "email",
            "secret",
            "$type"
          ],
          "properties": {
            "email": {
              "type": "string",
              "description": "User's email",
              "minLength": 1
            },
            "secret": {
              "type": "string",
              "description": "User's secret, only set by client, always returned empty by server",
              "minLength": 1
            },
            "username": {
              "type": "string",
              "description": "User's user name"
            },
            "domain": {
              "type": "string",
              "description": "User's domain"
            },
            "serverUri": {
              "type": "string",
              "description": "User's server Uri"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthBase": {
      "type": "object",
      "discriminator": "$type",
      "description": "Authorization base resource",
      "required": [
        "$type"
      ],
      "properties": {
        "token": {
          "description": "Token for authorization. Is only set by server side, never client side",
          "allOf": [
            {
              "$ref": "#/definitions/Token"
            }
          ]
        },
        "$type": {
          "type": "string"
        }
      }
    },
    "Token": {
      "type": "object",
      "description": "Token resource",
      "required": [
        "isSyncable"
      ],
      "properties": {
        "accessToken": {
          "type": "string",
          "description": "Access token, type is Bearer"
        },
        "refreshToken": {
          "type": "string",
          "description": "Refresh token"
        },
        "email": {
          "type": "string",
          "description": "Email of refresh token"
        },
        "isSyncable": {
          "type": "boolean",
          "description": "Token is syncable"
        }
      }
    },
    "AuthGoogle": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization Google resource",
          "required": [
            "email",
            "accessToken",
            "$type"
          ],
          "properties": {
            "email": {
              "type": "string",
              "description": "User's email",
              "minLength": 1
            },
            "accessToken": {
              "type": "string",
              "description": "User's access token, only set by client, always returned empty by server",
              "minLength": 1
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthImapSmtp": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization IMAP and SMTP resource",
          "required": [
            "imapPort",
            "smtpPort",
            "sslRequired",
            "$type"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "User's Name"
            },
            "email": {
              "type": "string",
              "description": "User's email"
            },
            "imapUsername": {
              "type": "string",
              "description": "IMAP username"
            },
            "imapPassword": {
              "type": "string",
              "description": "User's IMAP secret, only set by client, always returned empty by server"
            },
            "imapHost": {
              "type": "string",
              "description": "IMAP Server"
            },
            "imapPort": {
              "type": "integer",
              "description": "IMAP Connection port",
              "format": "int32"
            },
            "smtpUsername": {
              "type": "string",
              "description": "SMTP username"
            },
            "smtpPassword": {
              "type": "string",
              "description": "User's SMTP secret, only set by client, always returned empty by server"
            },
            "smtpHost": {
              "type": "string",
              "description": "SMTP Server"
            },
            "smtpPort": {
              "type": "integer",
              "description": "SMTP Connection port",
              "format": "int32"
            },
            "sslRequired": {
              "type": "boolean",
              "description": "Is SSL Required"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthTest": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization test resource, applicable only on test environments",
          "required": [
            "email",
            "$type"
          ],
          "properties": {
            "email": {
              "type": "string",
              "description": "Email of test user",
              "minLength": 1
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthMicrosoft": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization Microsoft resource",
          "required": [
            "email",
            "accessToken",
            "fullScope",
            "$type"
          ],
          "properties": {
            "email": {
              "type": "string",
              "description": "User's email",
              "minLength": 1
            },
            "accessToken": {
              "type": "string",
              "description": "User's access token, only set by client, always returned empty by server",
              "minLength": 1
            },
            "sharedInboxEmail": {
              "type": "string",
              "description": "shared inbox account"
            },
            "fullScope": {
              "type": "boolean",
              "description": "Access token has sync"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthRemoteImap": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization Nylas resource",
          "required": [
            "imapPort",
            "smtpPort",
            "sslRequired",
            "$type"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "User's display name"
            },
            "email": {
              "type": "string",
              "description": "User's email"
            },
            "imapHost": {
              "type": "string",
              "description": "IMAP host, e.g. imap.aviato.com"
            },
            "imapPort": {
              "type": "integer",
              "description": "IMAP port",
              "format": "int32"
            },
            "imapUsername": {
              "type": "string",
              "description": "IMAP username"
            },
            "imapPassword": {
              "type": "string",
              "description": "IMAP password"
            },
            "smtpHost": {
              "type": "string",
              "description": "SMTP host, e.g. smtp.aviato.net"
            },
            "smtpPort": {
              "type": "integer",
              "description": "SMTP port",
              "format": "int32"
            },
            "smtpUsername": {
              "type": "string",
              "description": "SMTP username"
            },
            "smtpPassword": {
              "type": "string",
              "description": "SMTP password"
            },
            "sslRequired": {
              "type": "boolean",
              "description": "Is SSL required"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthIntegration": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization integration resource, applicable only to integrations",
          "required": [
            "identificator",
            "$type"
          ],
          "properties": {
            "identificator": {
              "type": "string",
              "description": "Integration identifier",
              "minLength": 1
            },
            "secret": {
              "type": "string",
              "description": "Integration's secret, only set by client, always returned empty by server"
            },
            "encryptedAuthIntegrationSecretEx": {
              "type": "string",
              "description": "Integration's secret and time (AuthIntegrationSecretEx) encrypted with KMS, only set by client, always returned empty by server"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthPassword": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization integration resource, applicable only to integrations",
          "required": [
            "identificator",
            "$type"
          ],
          "properties": {
            "identificator": {
              "type": "string",
              "description": "Password identifier",
              "minLength": 1
            },
            "password": {
              "type": "string",
              "description": "Password always returned empty by server"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AuthCode": {
      "allOf": [
        {
          "$ref": "#/definitions/AuthBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Authorization code exchange",
          "required": [
            "code",
            "clientId",
            "clientSecret",
            "$type"
          ],
          "properties": {
            "code": {
              "type": "string",
              "description": "Auth code, only set by client, always returned empty by server",
              "minLength": 1
            },
            "clientId": {
              "type": "string",
              "description": "Client id, only set by client (and randomly generated by them), always returned empty by server",
              "minLength": 1
            },
            "clientSecret": {
              "type": "string",
              "description": "Client secret, only set by client (and provided to them by server), always returned empty by server",
              "minLength": 1
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "LoginPurpose": {
      "type": "string",
      "description": "Sort by enum.",
      "x-enumNames": [
        "Login",
        "SetSecret"
      ],
      "enum": [
        "Login",
        "SetSecret"
      ]
    },
    "UserEmailInfo": {
      "type": "object",
      "description": "Authorization Google resource",
      "properties": {
        "email": {
          "type": "string",
          "description": "User's email"
        },
        "name": {
          "type": "string",
          "description": "User's name"
        },
        "picture": {
          "type": "string",
          "description": "User's picture"
        }
      }
    },
    "AuthVerifyResponse": {
      "type": "object",
      "description": "Authorization Verify result",
      "required": [
        "verifyIsSet"
      ],
      "properties": {
        "status": {
          "type": "string",
          "description": "Status of request"
        },
        "code": {
          "type": "string",
          "description": "Code for login if purpose is verify"
        },
        "verifyIsSet": {
          "type": "boolean",
          "description": "Code is generated by verify set"
        }
      }
    },
    "Void": {
      "type": "object"
    },
    "ListOfResourcesOfBadgeCount": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/BadgeCount"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "AppointmentEvent": {
      "type": "object",
      "description": "Apointment Event",
      "required": [
        "eventType"
      ],
      "properties": {
        "appointment": {
          "description": "Appointment",
          "allOf": [
            {
              "$ref": "#/definitions/Appointment"
            }
          ]
        },
        "eventType": {
          "description": "appointment event type",
          "allOf": [
            {
              "$ref": "#/definitions/AppointmentEventType"
            }
          ]
        }
      }
    },
    "Appointment": {
      "type": "object",
      "description": "Appointment class",
      "required": [
        "instanceType",
        "providerType",
        "hasAttachment"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Id of appointment"
        },
        "instanceType": {
          "description": "Instance type of appointment",
          "allOf": [
            {
              "$ref": "#/definitions/AppointmentInstanceType"
            }
          ]
        },
        "providerType": {
          "description": "Provider of appointment",
          "allOf": [
            {
              "$ref": "#/definitions/AppointmentProviderType"
            }
          ]
        },
        "subject": {
          "type": "string",
          "description": "Appointment subject"
        },
        "description": {
          "type": "string",
          "description": "Appointment description"
        },
        "descriptionContentType": {
          "type": "string",
          "description": "Appointment description content type"
        },
        "attendees": {
          "description": "List of appointment attendees",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfAttendee"
            }
          ]
        },
        "location": {
          "type": "string",
          "description": "Appointment location"
        },
        "startTime": {
          "type": "string",
          "description": "Appointment start time (is set to midnight if it is all day)",
          "format": "date-time"
        },
        "endTime": {
          "type": "string",
          "description": "Appointment end time (is set to midnight if it is all day)",
          "format": "date-time"
        },
        "timezone": {
          "type": "string",
          "description": "Appointment timezone"
        },
        "startTimezone": {
          "type": "string",
          "description": "Appointment start timezone (IANA) - falls back to Timezone"
        },
        "stopTimezone": {
          "type": "string",
          "description": "Appointment end timezone (IANA) - falls back to StartTimezone, then Timezone"
        },
        "isAllDay": {
          "type": "boolean",
          "description": "Flag indicating whether the appointment is all day"
        },
        "isCancelled": {
          "type": "boolean",
          "description": "Flag indicating whether the appointment was canceled"
        },
        "masterId": {
          "type": "string",
          "description": "Reference to appointment recurring master if is one instance of recurring appointment"
        },
        "response": {
          "description": "Authorized user's response to the appointment",
          "allOf": [
            {
              "$ref": "#/definitions/AppointmentResponse"
            }
          ]
        },
        "recurringMasterResponse": {
          "description": "Authorized user's response to the entire recurring appointment (set only if this appointment is an instance of a recurring appointment)",
          "allOf": [
            {
              "$ref": "#/definitions/AppointmentResponse"
            }
          ]
        },
        "remindersInMinutes": {
          "description": "List of reminders on a appointment to remind before start of event -> in minutes",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfInteger"
            }
          ]
        },
        "sharedContext": {
          "description": "Provided on agenda list if the appointment is shared via team inbox",
          "allOf": [
            {
              "$ref": "#/definitions/Group"
            }
          ]
        },
        "onlineMeeting": {
          "description": "Online-meeting/Conference information",
          "allOf": [
            {
              "$ref": "#/definitions/OnlineMeeting"
            }
          ]
        },
        "hasAttachment": {
          "type": "boolean",
          "description": "Has attachments"
        },
        "attachments": {
          "type": "array",
          "description": "Attachments",
          "items": {
            "$ref": "#/definitions/AppointmentAttachment"
          }
        },
        "recurrence": {
          "description": "List of all recurrences on appointment, only set if isRecurrence is set to true",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfRecurrenceDetail"
            }
          ]
        }
      }
    },
    "AppointmentInstanceType": {
      "type": "string",
      "description": "Appointment instance type",
      "x-enumNames": [
        "SingleInstance",
        "SeriesMaster",
        "Occurrence"
      ],
      "enum": [
        "SingleInstance",
        "SeriesMaster",
        "Occurrence"
      ]
    },
    "AppointmentProviderType": {
      "type": "string",
      "description": "Appointment provider type",
      "x-enumNames": [
        "GoogleCalendar",
        "MicrosoftCalendar",
        "ExchangeCalendar"
      ],
      "enum": [
        "GoogleCalendar",
        "MicrosoftCalendar",
        "ExchangeCalendar"
      ]
    },
    "AppointmentAttachment": {
      "type": "object",
      "description": "appointment attachment",
      "required": [
        "isInline"
      ],
      "properties": {
        "fileName": {
          "type": "string",
          "description": "file name of attachment"
        },
        "fileUrl": {
          "type": "string",
          "description": "location of file"
        },
        "isInline": {
          "type": "boolean",
          "description": "is inline"
        },
        "mimeType": {
          "type": "string",
          "description": "mime type"
        },
        "mimeContentId": {
          "type": "string",
          "description": "mime contentId"
        }
      }
    },
    "AppointmentEventType": {
      "type": "string",
      "description": "Appointment event type",
      "x-enumNames": [
        "Updated",
        "Deleted"
      ],
      "enum": [
        "Updated",
        "Deleted"
      ]
    },
    "AppointmentRespondRequest": {
      "type": "object",
      "description": "Apointment Event",
      "required": [
        "respondType"
      ],
      "properties": {
        "respondType": {
          "description": "respond type",
          "allOf": [
            {
              "$ref": "#/definitions/AppointmentRespondType"
            }
          ]
        },
        "respondMessage": {
          "type": "string",
          "description": "respond message"
        }
      }
    },
    "AppointmentRespondType": {
      "type": "string",
      "description": "Appointment respond type",
      "x-enumNames": [
        "Accept",
        "Tentative",
        "Decline"
      ],
      "enum": [
        "Accept",
        "Tentative",
        "Decline"
      ]
    },
    "ListOfResourcesOfCalendarInstanceResponse": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/CalendarInstanceResponse"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CalendarInstanceResponse": {
      "type": "object",
      "description": "calendar instance id",
      "properties": {
        "syncUserId": {
          "type": "string",
          "description": "User id - owner instances"
        },
        "instances": {
          "type": "array",
          "description": "Instances",
          "items": {
            "$ref": "#/definitions/CalendarInstance"
          }
        },
        "errorMessage": {
          "type": "string",
          "description": "If error occours ErrorMessage is set"
        }
      }
    },
    "CalendarInstance": {
      "type": "object",
      "description": "calendar instance id",
      "required": [
        "rights",
        "providerType",
        "isDefault"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Id is composite id hold contextId and calendar instance id"
        },
        "name": {
          "type": "string",
          "description": "calendar instance name"
        },
        "contextId": {
          "type": "string",
          "description": "calendar context id"
        },
        "rights": {
          "description": "rights",
          "allOf": [
            {
              "$ref": "#/definitions/CalendarInstanceRights"
            }
          ]
        },
        "providerType": {
          "description": "Provider of appointment",
          "allOf": [
            {
              "$ref": "#/definitions/AppointmentProviderType"
            }
          ]
        },
        "onlineMeetings": {
          "type": "array",
          "description": "Available Online Meeting providers",
          "items": {
            "$ref": "#/definitions/OnlineMeeting"
          }
        },
        "isDefault": {
          "type": "boolean",
          "description": "calendar primary instance"
        },
        "color": {
          "type": "string",
          "description": "color"
        },
        "timezone": {
          "type": "string",
          "description": "calendar default timezone (IANA)"
        }
      }
    },
    "CalendarInstanceRights": {
      "type": "string",
      "description": "calendar instance rights enum",
      "x-enumNames": [
        "Reader",
        "Owner"
      ],
      "enum": [
        "Reader",
        "Owner"
      ]
    },
    "CalendarEventsResponse": {
      "type": "object",
      "description": "calendar instance id",
      "properties": {
        "calendarInstanceId": {
          "type": "string",
          "description": "calendar instance id"
        },
        "events": {
          "description": "Events",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfAppointmentEvent"
            }
          ]
        },
        "errorMessage": {
          "type": "string",
          "description": "If error occours ErrorMessage is set"
        },
        "historyId": {
          "type": "string",
          "description": "history id"
        }
      }
    },
    "ListOfResourcesOfAppointmentEvent": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/AppointmentEvent"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CalendarEventsRequest": {
      "type": "object",
      "description": "calendar events request",
      "properties": {
        "calendarInstanceId": {
          "type": "string",
          "description": "calendar instance id"
        },
        "historyId": {
          "type": "string",
          "description": "history id"
        }
      }
    },
    "UserBusy": {
      "type": "object",
      "description": "Represents a user's busy schedule, including their unique identifier and a collection of time periods during which\nthey are unavailable.",
      "properties": {
        "identificator": {
          "type": "string",
          "description": "Gets or sets the unique identifier (email) associated with the object."
        },
        "busyPeriods": {
          "type": "array",
          "description": "Gets or sets the collection of time periods during which the resource is considered busy.",
          "items": {
            "$ref": "#/definitions/BusyPeriod"
          }
        },
        "workingHour": {
          "description": "Working hour info of the user",
          "allOf": [
            {
              "$ref": "#/definitions/WorkingHour"
            }
          ]
        }
      }
    },
    "BusyPeriod": {
      "type": "object",
      "description": "Represents a time interval during which an entity is considered busy.",
      "required": [
        "startTime",
        "endTime"
      ],
      "properties": {
        "startTime": {
          "type": "string",
          "description": "Gets or sets the start time of busy period.",
          "format": "date-time"
        },
        "endTime": {
          "type": "string",
          "description": "Gets or sets the end time of busy period.",
          "format": "date-time"
        }
      }
    },
    "WorkingHour": {
      "type": "object",
      "description": "Represents a scheduled period of work, typically defined by a start and end time within a working day.",
      "properties": {
        "startTime": {
          "type": "string",
          "description": "Working start time.",
          "format": "time"
        },
        "endTime": {
          "type": "string",
          "description": "Working end time.",
          "format": "time"
        }
      }
    },
    "SortOrder": {
      "type": "string",
      "description": "Sort direction enum",
      "x-enumNames": [
        "Descending",
        "Ascending"
      ],
      "enum": [
        "Descending",
        "Ascending"
      ]
    },
    "ListOfResourcesOfCardBase": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/CardBase"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "OffsetDateType": {
      "type": "string",
      "description": "Sort by enum.",
      "x-enumNames": [
        "CreatedDate",
        "ModifiedDate",
        "SystemModifiedDate"
      ],
      "enum": [
        "CreatedDate",
        "ModifiedDate",
        "SystemModifiedDate"
      ]
    },
    "QueryRelation": {
      "type": "string",
      "description": "Query relation enum.",
      "x-enumNames": [
        "Or",
        "And",
        "OrNot",
        "AndNot"
      ],
      "enum": [
        "Or",
        "And",
        "OrNot",
        "AndNot"
      ]
    },
    "SearchQueryConversation": {
      "allOf": [
        {
          "$ref": "#/definitions/SearchQueryBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Search query for cards",
          "required": [
            "conversationConditionsRelation",
            "includeOldPersonalConversations",
            "includeConversationAttachmentSignedLink",
            "showOnlyAssigned",
            "showOnlyNotAssigned",
            "showOnlyPurged",
            "showOnlyNotPurged",
            "showOnlyChannelDeletedView",
            "showOnlyClosedConversion",
            "showOnlyNotClosedConversion",
            "showOnlyConversionWithAttachment",
            "showOnlyConversionWitNoAttachment",
            "$type"
          ],
          "properties": {
            "commonConversationConditions": {
              "description": "Common conversation conditions",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryConversationConditions"
                }
              ]
            },
            "conversationConditions": {
              "type": "array",
              "description": "ConversationConditon with condition",
              "items": {
                "$ref": "#/definitions/SearchQueryConversationConditionsWithConditions"
              }
            },
            "conversationConditionsRelation": {
              "description": "conversation conditions relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            },
            "showInView": {
              "description": "Views to which this conversation belong",
              "allOf": [
                {
                  "$ref": "#/definitions/ShowInViewObject"
                }
              ]
            },
            "conversationIds": {
              "type": "array",
              "description": "Filter by converstaion ids",
              "items": {
                "type": "string"
              }
            },
            "hasUnreads": {
              "type": "boolean",
              "description": "Does conversation contain unreads"
            },
            "viewDateGreaterThan": {
              "type": "string",
              "description": "View date must be greater than ",
              "format": "date-time"
            },
            "conversationDateFrom": {
              "type": "string",
              "description": "Conversation date (precision is date without hour - search by date) must be greater than or equal ",
              "format": "date-time"
            },
            "conversationDateTo": {
              "type": "string",
              "description": "Conversation date (precision is date without hour - search by date) must be less than or equal ",
              "format": "date-time"
            },
            "channelIds": {
              "type": "array",
              "description": "Filter list of channels one must exists",
              "items": {
                "type": "string"
              }
            },
            "includeOldPersonalConversations": {
              "type": "boolean",
              "description": "Get old personal cards"
            },
            "includeConversationAttachmentSignedLink": {
              "type": "boolean",
              "description": "Include conversation attachment signed links"
            },
            "showOnlyAssigned": {
              "type": "boolean",
              "description": "Show only assigned conversations"
            },
            "showOnlyNotAssigned": {
              "type": "boolean",
              "description": "Show only not assigned conversations"
            },
            "showOnlyPurged": {
              "type": "boolean",
              "description": "Show only purged conversation"
            },
            "showOnlyNotPurged": {
              "type": "boolean",
              "description": "Show only not purged conversations"
            },
            "hasPreventPurgeTag": {
              "type": "boolean",
              "description": "Does conversation has / has not prevent purge tag"
            },
            "showOnlyChannelDeletedView": {
              "type": "boolean",
              "description": "Show only channel deleted view"
            },
            "showOnlyClosedConversion": {
              "type": "boolean",
              "description": "Show only closed conversation"
            },
            "showOnlyNotClosedConversion": {
              "type": "boolean",
              "description": "Show only not closed conversation"
            },
            "showOnlyConversionWithAttachment": {
              "type": "boolean",
              "description": "Show only conversation with attachments"
            },
            "showOnlyConversionWitNoAttachment": {
              "type": "boolean",
              "description": "Show only conversation with no attachments"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SearchQueryConversationConditions": {
      "allOf": [
        {
          "$ref": "#/definitions/SearchQueryCommonConditions"
        },
        {
          "type": "object",
          "description": "Search query card condition",
          "required": [
            "conversationConditionsRelation"
          ],
          "properties": {
            "cardTypes": {
              "type": "array",
              "description": "List of card types to filter card list by.",
              "items": {
                "$ref": "#/definitions/CardType"
              }
            },
            "conversationConditionsRelation": {
              "description": "Conversation condition relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            }
          }
        }
      ]
    },
    "SearchQueryCommonConditions": {
      "type": "object",
      "description": "Common query conditions",
      "properties": {
        "queryText": {
          "type": "string",
          "description": "query text"
        },
        "tagsConditions": {
          "description": "tag conditions",
          "allOf": [
            {
              "$ref": "#/definitions/SearchQueryCommonTagsConditions"
            }
          ]
        }
      }
    },
    "SearchQueryCommonTagsConditions": {
      "type": "object",
      "description": "Search common tags query",
      "required": [
        "tagFilterRelation",
        "sharedTagFilterRelation"
      ],
      "properties": {
        "tagFilterRelation": {
          "description": "tag filter relation",
          "allOf": [
            {
              "$ref": "#/definitions/QueryRelation"
            }
          ]
        },
        "tagFilter": {
          "type": "array",
          "description": "tag filter",
          "items": {
            "type": "string"
          }
        },
        "sharedTagFilterRelation": {
          "description": "shared tag filter relation",
          "allOf": [
            {
              "$ref": "#/definitions/QueryRelation"
            }
          ]
        },
        "sharedTagFilter": {
          "type": "array",
          "description": "shared tag filter",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "SearchQueryConversationConditionsWithConditions": {
      "type": "object",
      "description": "Search query card with conditions",
      "required": [
        "conversationConditionsRelation"
      ],
      "properties": {
        "conversationConditions": {
          "type": "array",
          "description": "card condition",
          "items": {
            "$ref": "#/definitions/SearchQueryConversationConditions"
          }
        },
        "conversationConditionsRelation": {
          "description": "card condition relation",
          "allOf": [
            {
              "$ref": "#/definitions/QueryRelation"
            }
          ]
        }
      }
    },
    "SearchQueryBase": {
      "type": "object",
      "discriminator": "$type",
      "description": "Card base resource",
      "x-abstract": true,
      "required": [
        "size",
        "sortOrder",
        "sortType",
        "$type"
      ],
      "properties": {
        "queryText": {
          "type": "string",
          "description": "Query text"
        },
        "size": {
          "type": "integer",
          "description": "Size of results",
          "format": "int32"
        },
        "sortOrder": {
          "description": "Sort order",
          "allOf": [
            {
              "$ref": "#/definitions/SortOrder"
            }
          ]
        },
        "sortType": {
          "description": "Sort type",
          "allOf": [
            {
              "$ref": "#/definitions/SortType"
            }
          ]
        },
        "historyId": {
          "type": "string",
          "description": "Histroy id"
        },
        "historyStartDate": {
          "type": "string",
          "description": "Histroy start date if  HistoryId is not yet define",
          "format": "date-time"
        },
        "historyEndDate": {
          "type": "string",
          "description": "Histroy start end if  HistoryId is not yet define",
          "format": "date-time"
        },
        "responseFormat": {
          "type": "string",
          "description": "Response format (small)"
        },
        "$type": {
          "type": "string"
        }
      }
    },
    "SortType": {
      "type": "string",
      "description": "Sort Type enum",
      "x-enumNames": [
        "ModifiedDate",
        "CreatedDate",
        "ViewDate"
      ],
      "enum": [
        "ModifiedDate",
        "CreatedDate",
        "ViewDate"
      ]
    },
    "SearchQueryCard": {
      "allOf": [
        {
          "$ref": "#/definitions/SearchQueryBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Search query for cards",
          "required": [
            "cardConditionsRelation",
            "$type"
          ],
          "properties": {
            "commonCardConditions": {
              "description": "Common card conditions",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryCardConditions"
                }
              ]
            },
            "cardConditions": {
              "type": "array",
              "description": "CardConditon with condition",
              "items": {
                "$ref": "#/definitions/SearchQueryCardConditionsWithConditions"
              }
            },
            "cardConditionsRelation": {
              "description": "card conditions relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            },
            "followedCard": {
              "type": "boolean",
              "description": "followecd card filter"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SearchQueryCardConditions": {
      "allOf": [
        {
          "$ref": "#/definitions/SearchQueryCommonConditions"
        },
        {
          "type": "object",
          "description": "Search query card condition",
          "required": [
            "contactFilterRelation",
            "cardConditionsRelation"
          ],
          "properties": {
            "contactIds": {
              "type": "array",
              "description": "ContactsId filter on cards userId and groupId",
              "items": {
                "type": "string"
              }
            },
            "contactFilterRelation": {
              "description": "Contacts relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            },
            "groupCards": {
              "type": "boolean",
              "description": "card where group exist (true) not group cards (false) all cards (null)"
            },
            "cardTypes": {
              "type": "array",
              "description": "List of card types to filter card list by.",
              "items": {
                "$ref": "#/definitions/CardType"
              }
            },
            "cardConditionsRelation": {
              "description": "Card condition relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            }
          }
        }
      ]
    },
    "SearchQueryCardConditionsWithConditions": {
      "type": "object",
      "description": "Search query card with conditions",
      "required": [
        "cardConditionsRelation"
      ],
      "properties": {
        "cardConditions": {
          "type": "array",
          "description": "card condition",
          "items": {
            "$ref": "#/definitions/SearchQueryCardConditions"
          }
        },
        "cardConditionsRelation": {
          "description": "card condition relation",
          "allOf": [
            {
              "$ref": "#/definitions/QueryRelation"
            }
          ]
        }
      }
    },
    "SearchQueryComment": {
      "allOf": [
        {
          "$ref": "#/definitions/SearchQueryBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Search query for comment",
          "required": [
            "commentConditionsRelation",
            "$type"
          ],
          "properties": {
            "bodyFormat": {
              "type": "string",
              "description": "Body format"
            },
            "commonCommentConditions": {
              "description": "Common comment conditions",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryCommentConditions"
                }
              ]
            },
            "commentConditions": {
              "type": "array",
              "description": "CommentConditon with condition",
              "items": {
                "$ref": "#/definitions/SearchQueryCommentConditionsWithConditions"
              }
            },
            "commentConditionsRelation": {
              "description": "comment conditions relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SearchQueryCommentConditions": {
      "allOf": [
        {
          "$ref": "#/definitions/SearchQueryCommonConditions"
        },
        {
          "type": "object",
          "description": "Search query card condition",
          "required": [
            "contactFilterRelation",
            "commentConditionsRelation"
          ],
          "properties": {
            "cardIds": {
              "type": "array",
              "description": "Filter by card ids",
              "items": {
                "type": "string"
              }
            },
            "contactIds": {
              "type": "array",
              "description": "ContactsId filter on comment userId and groupId",
              "items": {
                "type": "string"
              }
            },
            "contactFilterRelation": {
              "description": "Contacts relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            },
            "userContactIdsShouldBeSender": {
              "type": "boolean",
              "description": "User contact id filter as sender"
            },
            "cardTypes": {
              "type": "array",
              "description": "List of card types to filter comment list by.",
              "items": {
                "$ref": "#/definitions/CardType"
              }
            },
            "groupComments": {
              "type": "boolean",
              "description": "comments where group exist (true) not group comments (false) all comments (null)"
            },
            "commentConditionsRelation": {
              "description": "Comment condition relation",
              "allOf": [
                {
                  "$ref": "#/definitions/QueryRelation"
                }
              ]
            }
          }
        }
      ]
    },
    "SearchQueryCommentConditionsWithConditions": {
      "type": "object",
      "description": "Search query comment with conditions",
      "required": [
        "commentConditionsRelation"
      ],
      "properties": {
        "commentConditions": {
          "type": "array",
          "description": "comment condition",
          "items": {
            "$ref": "#/definitions/SearchQueryCommentConditions"
          }
        },
        "commentConditionsRelation": {
          "description": "comment condition relation",
          "allOf": [
            {
              "$ref": "#/definitions/QueryRelation"
            }
          ]
        }
      }
    },
    "SearchQueryCardComment": {
      "allOf": [
        {
          "$ref": "#/definitions/SearchQueryBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Search query for cards",
          "required": [
            "$type"
          ],
          "properties": {
            "searchQueryCard": {
              "description": "Search card conditions",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryCard"
                }
              ]
            },
            "searchQueryComment": {
              "description": "Search comment conditions 2 phase",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryComment"
                }
              ]
            },
            "searchQueryComment3Phase": {
              "description": "Search comment conditions 3 phase",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryComment"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "Categories": {
      "type": "object",
      "description": "Categories list",
      "required": [
        "canEdit"
      ],
      "properties": {
        "items": {
          "type": "array",
          "description": "List of sorted categories",
          "items": {
            "$ref": "#/definitions/Category"
          }
        },
        "spamFilter": {
          "description": "Spam filter",
          "allOf": [
            {
              "$ref": "#/definitions/IncludedInboxes"
            }
          ]
        },
        "canEdit": {
          "type": "boolean",
          "description": "Continuation token"
        }
      }
    },
    "Category": {
      "type": "object",
      "description": "Subscription availability status",
      "required": [
        "type",
        "typeInstance",
        "enabled",
        "deleted"
      ],
      "properties": {
        "workspaceId": {
          "type": "string",
          "description": "Availability Name "
        },
        "type": {
          "description": "Category Type",
          "allOf": [
            {
              "$ref": "#/definitions/CategoryEnum"
            }
          ]
        },
        "typeInstance": {
          "type": "integer",
          "description": "Multiple Category Type Instance",
          "format": "int32"
        },
        "name": {
          "type": "string",
          "description": "Name"
        },
        "icon": {
          "type": "string",
          "description": "Icon"
        },
        "description": {
          "type": "string",
          "description": "Description"
        },
        "enabled": {
          "type": "boolean",
          "description": "Enabled"
        },
        "visibility": {
          "description": "Visibility",
          "allOf": [
            {
              "$ref": "#/definitions/IncludedInboxes"
            }
          ]
        },
        "autoTagging": {
          "description": "Auto tagging",
          "allOf": [
            {
              "$ref": "#/definitions/IncludedInboxes"
            }
          ]
        },
        "color": {
          "type": "string",
          "description": "Color"
        },
        "deleted": {
          "type": "boolean",
          "description": "Deleted"
        }
      }
    },
    "IncludedInboxes": {
      "type": "object",
      "description": "included inboxes",
      "required": [
        "includeInboxes"
      ],
      "properties": {
        "includeInboxes": {
          "description": "Include inbox type",
          "allOf": [
            {
              "$ref": "#/definitions/IncludeInboxEnum"
            }
          ]
        },
        "inboxIds": {
          "type": "array",
          "description": "Custom inbox ids",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "IncludeInboxEnum": {
      "type": "string",
      "description": "Possible Clear After enums",
      "x-enumNames": [
        "All",
        "AllSharedPersonal",
        "AllShared",
        "AllPersonal",
        "AllManaged",
        "CustomPersonal",
        "CustomShared",
        "Custom",
        "None"
      ],
      "enum": [
        "All",
        "AllSharedPersonal",
        "AllShared",
        "AllPersonal",
        "AllManaged",
        "CustomPersonal",
        "CustomShared",
        "Custom",
        "None"
      ]
    },
    "ListOfResourcesOfSharedTagCategory": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SharedTagCategory"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "SortBy": {
      "type": "string",
      "description": "Sort by enum.",
      "x-enumNames": [
        "Name",
        "CreatedDate",
        "ModifiedDate",
        "MostUsed",
        "Size"
      ],
      "enum": [
        "Name",
        "CreatedDate",
        "ModifiedDate",
        "MostUsed",
        "Size"
      ]
    },
    "Icon": {
      "type": "object",
      "description": "Subscription availability status",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Icon display name"
        },
        "name": {
          "type": "string",
          "description": "Icon name"
        },
        "link": {
          "type": "string",
          "description": "Icon link"
        },
        "types": {
          "type": "array",
          "description": "Category Type",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "CommentPreview": {
      "type": "object",
      "description": "Comment preview resource (used for previewing how a forward will look like)",
      "properties": {
        "html": {
          "type": "string",
          "description": "HTML content of preview"
        },
        "files": {
          "description": "List of files that will get copied",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfFile"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfCommentBase": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/CommentBase"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CommentList": {
      "allOf": [
        {
          "$ref": "#/definitions/ListOfResourcesOfCommentBase"
        },
        {
          "type": "object",
          "description": "List of conversation events resources",
          "properties": {
            "commentsBefore": {
              "description": "Commments before if you are using filter aroundCommentId",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentBase"
                }
              ]
            },
            "comments": {
              "description": "Commments",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfResourcesOfCommentBase"
                }
              ]
            },
            "quoteComments": {
              "type": "array",
              "description": "Additional Quote Commments",
              "items": {
                "$ref": "#/definitions/CommentBase"
              }
            },
            "draftComments": {
              "type": "array",
              "description": "Additional Commments",
              "items": {
                "$ref": "#/definitions/CommentBase"
              }
            },
            "additionalCardAppointment": {
              "description": "Additional Appointment",
              "allOf": [
                {
                  "$ref": "#/definitions/CardAppointment"
                }
              ]
            },
            "additionalComments": {
              "type": "array",
              "description": "Additional Commments",
              "items": {
                "$ref": "#/definitions/CommentBase"
              }
            }
          }
        }
      ]
    },
    "CommentOutOfOffice": {
      "type": "object",
      "description": "out of office comment",
      "properties": {
        "subject": {
          "type": "string",
          "description": "OutOfOffice subject"
        },
        "body": {
          "type": "string",
          "description": "OutOfOffice body"
        }
      }
    },
    "ListOfResourcesOfCompany": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Company"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "CompanyDomainUpdateResult": {
      "type": "object",
      "description": "Result of a domain add/remove operation, including how many profiles were affected so the\ncaller can report it (e.g. the FE's company_domain_added/company_domain_removed Mixpanel events).",
      "required": [
        "affectedProfileCount"
      ],
      "properties": {
        "company": {
          "description": "The Company after the domain change.",
          "allOf": [
            {
              "$ref": "#/definitions/Company"
            }
          ]
        },
        "affectedProfileCount": {
          "type": "integer",
          "description": "Number of profiles auto-linked (on add) or auto-unlinked (on remove) as a result of this change.",
          "format": "int32"
        }
      }
    },
    "CompanyDomainRequest": {
      "type": "object",
      "description": "Request body to add or remove a domain on a Company.",
      "properties": {
        "domain": {
          "type": "string",
          "description": "The email domain to add or remove, e.g. \"unija.si\"."
        }
      }
    },
    "ContactSortOrder": {
      "type": "string",
      "description": "Contact sort order",
      "x-enumNames": [
        "Weight",
        "ModifiedDate",
        "CreatedDate"
      ],
      "enum": [
        "Weight",
        "ModifiedDate",
        "CreatedDate"
      ]
    },
    "ContactType": {
      "type": "string",
      "description": "Group types",
      "x-enumNames": [
        "User",
        "MultiUser",
        "Group"
      ],
      "enum": [
        "User",
        "MultiUser",
        "Group"
      ]
    },
    "GroupType": {
      "type": "string",
      "description": "Group types",
      "x-enumNames": [
        "Normal",
        "SharedInbox",
        "PersonalInbox"
      ],
      "enum": [
        "Normal",
        "SharedInbox",
        "PersonalInbox"
      ]
    },
    "GroupSubType": {
      "type": "string",
      "description": "Group sub types",
      "x-enumNames": [
        "Normal",
        "SharedInbox",
        "ManagedTeam",
        "PersonalInbox"
      ],
      "enum": [
        "Normal",
        "SharedInbox",
        "ManagedTeam",
        "PersonalInbox"
      ]
    },
    "ContactIdRequest": {
      "type": "object",
      "description": "Contact id request",
      "properties": {
        "contactId": {
          "type": "string",
          "description": "contact id"
        },
        "authorizedId": {
          "type": "string",
          "description": "authorized card id for user contact"
        }
      }
    },
    "ListOfResourcesOfConversation": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Conversation"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "UpdateRequestBase": {
      "type": "object",
      "discriminator": "$type",
      "description": "Conversation list update request base\nPossible types: ConversationSearchUpdateRequest, ConversationListUpdateRequest",
      "x-abstract": true,
      "required": [
        "action",
        "sharedActionContext",
        "$type"
      ],
      "properties": {
        "action": {
          "description": "Conversation action enum",
          "allOf": [
            {
              "$ref": "#/definitions/ActionEnum"
            }
          ]
        },
        "actionDescription": {
          "type": "string",
          "description": "Conversation action description"
        },
        "fromContext": {
          "description": "From context - it can be null - old clients",
          "allOf": [
            {
              "$ref": "#/definitions/ContextType"
            }
          ]
        },
        "sharedActionContext": {
          "type": "boolean",
          "description": "Conversation action context (private triaging) - if you delete conversation from group - context is shared - from loop inbox is non shared"
        },
        "actionDate": {
          "type": "string",
          "description": "Action date (for offline action - prevent executing action on new items)",
          "format": "date-time"
        },
        "$type": {
          "type": "string"
        }
      }
    },
    "ContextType": {
      "type": "object",
      "description": "Context type",
      "required": [
        "context"
      ],
      "properties": {
        "context": {
          "description": "From",
          "allOf": [
            {
              "$ref": "#/definitions/ContextEnum"
            }
          ]
        },
        "folderId": {
          "type": "string",
          "description": "shared folder id if context type is Folder"
        }
      }
    },
    "ContextEnum": {
      "type": "string",
      "description": "Possible Context Types",
      "x-enumNames": [
        "Archive",
        "Delete",
        "Inbox",
        "Folder"
      ],
      "enum": [
        "Archive",
        "Delete",
        "Inbox",
        "Folder"
      ]
    },
    "ConversationListUpdateRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/UpdateRequestBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Conversation update request",
          "required": [
            "$type"
          ],
          "properties": {
            "conversationIds": {
              "type": "array",
              "description": "List of conversation ids",
              "items": {
                "type": "string"
              }
            },
            "folderId": {
              "type": "string",
              "description": "Folder id"
            },
            "messageId": {
              "type": "string",
              "description": "Message id"
            },
            "addTags": {
              "type": "array",
              "description": "Tags to add",
              "items": {
                "type": "string"
              }
            },
            "removeTags": {
              "type": "array",
              "description": "Tags to remove",
              "items": {
                "type": "string"
              }
            },
            "dueDate": {
              "type": "string",
              "description": "Due date (snooze action)",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ConversationSearchUpdateRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/UpdateRequestBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Conversation list update request",
          "required": [
            "$type"
          ],
          "properties": {
            "query": {
              "description": "SearchQueryConversationAction query",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryConversationAction"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SearchQueryConversationAction": {
      "type": "object",
      "description": "Search query for conversation action",
      "properties": {
        "commonConversationConditions": {
          "description": "Common conversation conditions",
          "allOf": [
            {
              "$ref": "#/definitions/SearchQueryConversationConditions"
            }
          ]
        },
        "conversationConditions": {
          "type": "array",
          "description": "ConversationConditon with condition",
          "items": {
            "$ref": "#/definitions/SearchQueryConversationConditionsWithConditions"
          }
        },
        "conversationConditionsRelation": {
          "description": "conversation conditions relation",
          "allOf": [
            {
              "$ref": "#/definitions/QueryRelation"
            }
          ]
        },
        "showInView": {
          "description": "Views to which this conversation belong",
          "allOf": [
            {
              "$ref": "#/definitions/ShowInViewObject"
            }
          ]
        }
      }
    },
    "ConversationSearchPurgeRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/UpdateRequestBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Conversation list update purge request",
          "required": [
            "purgeDeletedFolder",
            "purgeBeforeDate",
            "closeConversation",
            "$type"
          ],
          "properties": {
            "channelIds": {
              "type": "array",
              "description": "Channel Ids ",
              "items": {
                "type": "string"
              }
            },
            "purgeDeletedFolder": {
              "type": "boolean",
              "description": "Purge Deleted Folder"
            },
            "purgeBeforeDate": {
              "type": "string",
              "description": "Purge Before Date (purge action) ",
              "format": "date-time"
            },
            "query": {
              "description": "SearchQueryConversationPurgeAction query",
              "allOf": [
                {
                  "$ref": "#/definitions/SearchQueryConversationPurgeAction"
                }
              ]
            },
            "closeConversation": {
              "type": "boolean",
              "description": "Gets or sets a value indicating whether the conversation should be closed."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "SearchQueryConversationPurgeAction": {
      "type": "object",
      "description": "Search query for conversation action purge",
      "properties": {
        "conversationConditions": {
          "type": "array",
          "description": "ConversationConditon with condition",
          "items": {
            "$ref": "#/definitions/SearchQueryConversationConditionsWithConditions"
          }
        },
        "conversationConditionsRelation": {
          "description": "conversation conditions relation",
          "allOf": [
            {
              "$ref": "#/definitions/QueryRelation"
            }
          ]
        }
      }
    },
    "ConversationBotPurgeRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/UpdateRequestBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Conversation list update purge request",
          "required": [
            "purgeBeforeDate",
            "$type"
          ],
          "properties": {
            "channelIds": {
              "type": "array",
              "description": "Channel of bot chat conversation",
              "items": {
                "type": "string"
              }
            },
            "purgeBeforeDate": {
              "type": "string",
              "description": "Purge Before Date (purge action) ",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "Current": {
      "type": "object",
      "description": "Current response",
      "properties": {
        "user": {
          "description": "Current for user",
          "allOf": [
            {
              "$ref": "#/definitions/User"
            }
          ]
        },
        "userSettings": {
          "description": "user settings",
          "allOf": [
            {
              "$ref": "#/definitions/UserSettings"
            }
          ]
        },
        "syncSettings": {
          "description": "sync settings",
          "allOf": [
            {
              "$ref": "#/definitions/SyncSettingsBase"
            }
          ]
        },
        "scopeSettings": {
          "description": "scope settings",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfScopeSettings"
            }
          ]
        },
        "topLicense": {
          "description": "top license",
          "allOf": [
            {
              "$ref": "#/definitions/SubscriptionLicense"
            }
          ]
        }
      }
    },
    "UserSettings": {
      "type": "object",
      "description": "User settings resource",
      "required": [
        "haveTwoFactorSecret"
      ],
      "properties": {
        "timeZone": {
          "type": "string",
          "description": "Timezone in IANA format (reference: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)"
        },
        "cultureCode": {
          "type": "string",
          "description": "Culture code (reference: https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx)"
        },
        "haveTwoFactorSecret": {
          "type": "boolean",
          "description": "Has two secret factor authorization set"
        },
        "regionCode": {
          "type": "string",
          "description": "Region code (reference ISO short: https://msdn.microsoft.com/en-us/library/ee783932(v=cs.10).aspx)"
        },
        "registeredDate": {
          "type": "string",
          "description": "User's registered date time",
          "format": "date-time"
        },
        "onboardingComplete": {
          "type": "boolean",
          "description": "User's onboarding complete status."
        },
        "isPasswordVerified": {
          "type": "boolean",
          "description": "Is password verified."
        },
        "intent": {
          "type": "string",
          "description": "Intent"
        },
        "userClientSettings": {
          "description": "Users client side settings.",
          "allOf": [
            {
              "$ref": "#/definitions/UserClientSettings"
            }
          ]
        },
        "userAliasSettings": {
          "description": "Users alias settings.",
          "allOf": [
            {
              "$ref": "#/definitions/UserAliasSettings"
            }
          ]
        },
        "userPaymentSettings": {
          "description": "Users payment settings.",
          "allOf": [
            {
              "$ref": "#/definitions/UserPaymentSettings"
            }
          ]
        },
        "userNotificationSettings": {
          "description": "Users notification settings.",
          "allOf": [
            {
              "$ref": "#/definitions/UserNotificationSettings"
            }
          ]
        }
      }
    },
    "UserClientSettings": {
      "type": "object",
      "description": "Users client settings.\nThis settings are only stored on BE side and used only on client side.\nBE does not implement any logic around this settings.",
      "required": [
        "showEmailsInAllMessages",
        "showSendEmailsInAllMessages",
        "enablePrivateTriagingInMyLoopInbox",
        "logsDisabled"
      ],
      "properties": {
        "showEmailsInAllMessages": {
          "type": "boolean",
          "description": "Flag to indicate if emails are shown in All messages section."
        },
        "showSendEmailsInAllMessages": {
          "type": "boolean",
          "description": "Flag to indicate if send emails are shown in All messages section."
        },
        "enablePrivateTriagingInMyLoopInbox": {
          "type": "boolean",
          "description": "Flag to indicate if user will see private actions."
        },
        "logsDisabled": {
          "type": "boolean",
          "description": "Flag to indicate if logs are sent form clients"
        },
        "defaultFromAddress": {
          "type": "string",
          "description": "Flag to indicate default from address"
        },
        "isWorkspaceSwitchAllowed": {
          "type": "boolean",
          "description": "Flag to indicate if you can change workspace."
        }
      }
    },
    "UserAliasSettings": {
      "type": "object",
      "description": "Users alias settings.",
      "properties": {
        "aliases": {
          "description": "Aliases",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfUserAlias"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfUserAlias": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/UserAlias"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "UserAlias": {
      "type": "object",
      "description": "Users alias settings.",
      "required": [
        "enableForSend",
        "defaultAlias"
      ],
      "properties": {
        "alias": {
          "description": "Aliases",
          "allOf": [
            {
              "$ref": "#/definitions/ContactBase"
            }
          ]
        },
        "enableForSend": {
          "type": "boolean",
          "description": "Enable for send"
        },
        "defaultAlias": {
          "type": "boolean",
          "description": "Default alias"
        }
      }
    },
    "UserPaymentSettings": {
      "type": "object",
      "description": "Users payment settings.\nThis settings provider user payment status.",
      "required": [
        "paymentStatusType"
      ],
      "properties": {
        "paymentStatusType": {
          "description": "Flag to indicate if emails are shown in All messages section.",
          "allOf": [
            {
              "$ref": "#/definitions/UserPaymentStatusType"
            }
          ]
        },
        "paymentStatusDate": {
          "type": "string",
          "description": "Flag to indicate if send emails are shown in All messages section.",
          "format": "date-time"
        }
      }
    },
    "UserPaymentStatusType": {
      "type": "string",
      "description": "payment status type",
      "x-enumNames": [
        "Trial",
        "Paid",
        "Suspend",
        "WhiteList",
        "PersonalAccount",
        "SharedInbox"
      ],
      "enum": [
        "Trial",
        "Paid",
        "Suspend",
        "WhiteList",
        "PersonalAccount",
        "SharedInbox"
      ]
    },
    "UserNotificationSettings": {
      "type": "object",
      "description": "Users client settings.\nThis settings are only stored on BE side and used only on client side.\nBE does not implement any logic around this settings.",
      "required": [
        "chatNotification",
        "mailNotification",
        "hideSystemMessageNotification",
        "notifyNotificationWithSound"
      ],
      "properties": {
        "chatNotification": {
          "type": "boolean",
          "description": "Flag for sending chat notification."
        },
        "mailNotification": {
          "type": "boolean",
          "description": "Flag for sending mail notification."
        },
        "hideSystemMessageNotification": {
          "type": "boolean",
          "description": "Flag hide system messages."
        },
        "notifyNotificationWithSound": {
          "type": "boolean",
          "description": "Notify notification with sound."
        },
        "mobileChatNotification": {
          "type": "boolean",
          "description": "Flag for sending chat notification (mobile override)."
        },
        "mobileMailNotification": {
          "type": "boolean",
          "description": "Flag for sending mail notification (mobile override)."
        },
        "mobileHideSystemMessageNotification": {
          "type": "boolean",
          "description": "Flag hide system messages (mobile override)."
        },
        "mobileNotifyNotificationWithSound": {
          "type": "boolean",
          "description": "Notify notification with sound (mobile override)."
        }
      }
    },
    "ListOfResourcesOfScopeSettings": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ScopeSettings"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ScopeSettings": {
      "type": "object",
      "description": "Scope settings",
      "properties": {
        "scopeName": {
          "type": "string",
          "description": "Attachment"
        },
        "keyValues": {
          "type": "object",
          "description": "Key value settings",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "Device": {
      "type": "object",
      "description": "Device resource",
      "properties": {
        "id": {
          "type": "string",
          "description": "Device id"
        },
        "name": {
          "type": "string",
          "description": "Device name"
        },
        "deviceType": {
          "type": "string",
          "description": "Device type (all possible device types are listed under enums/DeviceType)"
        },
        "apiVersion": {
          "type": "string",
          "description": "Api version (all possible device types are listed under enums/EventVersion)"
        },
        "pushNotificationId": {
          "type": "string",
          "description": "Push notification id"
        }
      }
    },
    "EventBase": {
      "type": "object",
      "discriminator": "$type",
      "description": "Event base resource",
      "required": [
        "$type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Event id"
        },
        "created": {
          "type": "string",
          "description": "Date time when event was created",
          "format": "date-time"
        },
        "recipient": {
          "description": "Recipient of event",
          "allOf": [
            {
              "$ref": "#/definitions/User"
            }
          ]
        },
        "sender": {
          "description": "Sender of event",
          "allOf": [
            {
              "$ref": "#/definitions/User"
            }
          ]
        },
        "$type": {
          "type": "string"
        }
      }
    },
    "EventAccountTokenInvalid": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event about invalid account token (typicaly gets send when token used to sync account gets revoked).",
          "required": [
            "$type"
          ],
          "properties": {
            "accountType": {
              "type": "string",
              "description": "Type of account for which token is invalid (eg: Google or Microsoft Exchange)."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventAvatarUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Avatar updated event.",
          "required": [
            "$type"
          ],
          "properties": {
            "avatar": {
              "description": "Updated avatar resource.",
              "allOf": [
                {
                  "$ref": "#/definitions/AvatarBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventBadgeCountChanged": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "description": "Badge count changed event.",
          "properties": {
            "view": {
              "type": "string",
              "description": "view"
            },
            "filter": {
              "type": "string",
              "description": "filter"
            },
            "channelId": {
              "type": "string",
              "description": "channel"
            }
          }
        }
      ]
    },
    "EventCardCreated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event card created resource (gets sent when a new card is created)",
          "required": [
            "card",
            "$type"
          ],
          "properties": {
            "card": {
              "description": "Card resource",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventCardUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event card updated resource (gets sent when a card is updated, e.g. when appointment details change)",
          "required": [
            "card",
            "$type"
          ],
          "properties": {
            "card": {
              "description": "Card resource",
              "allOf": [
                {
                  "$ref": "#/definitions/CardBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventCommentCreated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event comment created resource (gets sent when a new comment is created)",
          "required": [
            "comment",
            "$type"
          ],
          "properties": {
            "comment": {
              "description": "Comment resource",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventCommentUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event comment updated resource (gets sent when a comment is updated)",
          "required": [
            "comment",
            "$type"
          ],
          "properties": {
            "comment": {
              "description": "Comment resource",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventTagsUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event tags updated resource (gets sent when tags on a resource get changed)",
          "required": [
            "tags",
            "$type"
          ],
          "properties": {
            "tags": {
              "description": "Tags resource",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "parentCreated": {
              "type": "string",
              "description": "Date time when event was created",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSharedTagsUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event shared tags updated resource (gets sent when shared tags on a resource get changed)",
          "required": [
            "tags",
            "$type"
          ],
          "properties": {
            "tags": {
              "description": "Tags resource",
              "allOf": [
                {
                  "$ref": "#/definitions/ListOfTags"
                }
              ]
            },
            "parentCreated": {
              "type": "string",
              "description": "Date time when event was created",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventTagCreated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event tag created resource (get sent when a new custom tag gets created)",
          "required": [
            "tag",
            "$type"
          ],
          "properties": {
            "tag": {
              "description": "Tag resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Tag"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventTagUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event tag updated resource (gets sent when a custom tag gets updated, e.g. when name gets changed)",
          "required": [
            "tag",
            "$type"
          ],
          "properties": {
            "tag": {
              "description": "Tag resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Tag"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventTagDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event tag deleted resource (gets sent when a custom tag gets deleted)",
          "required": [
            "tag",
            "$type"
          ],
          "properties": {
            "tag": {
              "description": "Tag resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Tag"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSharedTagCreated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event tag created resource (get sent when a new custom tag gets created)",
          "required": [
            "tag",
            "$type"
          ],
          "properties": {
            "tag": {
              "description": "Tag resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Tag"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSharedTagUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event tag created resource (get sent when a new custom tag gets created)",
          "required": [
            "tag",
            "$type"
          ],
          "properties": {
            "tag": {
              "description": "Tag resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Tag"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSharedTagDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event tag created resource (get sent when a new custom tag gets created)",
          "required": [
            "tag",
            "$type"
          ],
          "properties": {
            "tag": {
              "description": "Tag resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Tag"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSignatureCreated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event signature created resource (gets sent when a new signature is created)",
          "required": [
            "signature",
            "$type"
          ],
          "properties": {
            "signature": {
              "description": "Signature resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Signature"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSignatureUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event signature updated resource (gets sent when a signature is updated)",
          "required": [
            "signature",
            "$type"
          ],
          "properties": {
            "signature": {
              "description": "Signature resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Signature"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSignatureDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event signature deleted resource (gets sent when a signature is deleted)",
          "required": [
            "signature",
            "$type"
          ],
          "properties": {
            "signature": {
              "description": "Signature resource",
              "allOf": [
                {
                  "$ref": "#/definitions/Signature"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventContactBase": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event contact base resource",
          "x-abstract": true,
          "required": [
            "contact",
            "$type"
          ],
          "properties": {
            "contact": {
              "description": "Contact resource",
              "allOf": [
                {
                  "$ref": "#/definitions/ContactBase"
                }
              ]
            },
            "actionCreator": {
              "description": "User who performed this action.",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventContactCreated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventContactBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event contact created resource (gets sent when a new contact is created for the user)",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventContactUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventContactBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event contact updated resource (gets sent when a contact is updated)",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventContactDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventContactBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event contact deleted resource (gets sent when a contact is deleted, e.g. user is removed from a group)",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserRegistered": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event user registered resource (gets sent when a user registers).",
          "required": [
            "isAddAccount",
            "$type"
          ],
          "properties": {
            "userAgent": {
              "type": "string",
              "description": "User agent of a device user registered with."
            },
            "authType": {
              "type": "string",
              "description": "Type of authorization used during user registration."
            },
            "isAddAccount": {
              "type": "boolean",
              "description": "User was registered through add account action"
            },
            "paymentStatus": {
              "type": "string",
              "description": "Payment status"
            },
            "paymentStatusDate": {
              "type": "string",
              "description": "Payment status date",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserOnboardingCompleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event user onboarding completed resource (gets sent when initial sync is completed for the user)",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventHistorySyncStarted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event indicating start of history sync on linked Gmail or Exchange account.",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventHistorySyncEnded": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event indicating end of history sync on linked Gmail or Exchange account.",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserStatus": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event user status resource (gets send in periods)",
          "required": [
            "$type"
          ],
          "properties": {
            "user": {
              "description": "User status heartbeat",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserActiveReply": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event about user typing a reply on any given card.",
          "required": [
            "$type"
          ],
          "properties": {
            "user": {
              "description": "User who is doing the typing.",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "cardId": {
              "type": "string",
              "description": "Id of a card where reply message is being typed."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserTyping": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event about user typing a reply on any given card.",
          "required": [
            "$type"
          ],
          "properties": {
            "user": {
              "description": "User who is doing the typing.",
              "allOf": [
                {
                  "$ref": "#/definitions/User"
                }
              ]
            },
            "cardId": {
              "type": "string",
              "description": "Id of a card where reply message is being typed."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventDelta": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event delta resource (gets send when new event occurred)",
          "required": [
            "eventType",
            "$type"
          ],
          "properties": {
            "eventType": {
              "type": "string",
              "description": "Type of event that delta stands for",
              "minLength": 1
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event about delete user",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventGroupDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event about delete group",
          "required": [
            "$type"
          ],
          "properties": {
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventSyncSettingsUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event about users sync settings updated",
          "required": [
            "$type"
          ],
          "properties": {
            "isEnabled": {
              "type": "boolean",
              "description": "Sync is enabled"
            },
            "isPaused": {
              "type": "boolean",
              "description": "Sync is paused (only contact sync is performed, no emails are imported)"
            },
            "importDayRange": {
              "type": "integer",
              "description": "Email import day range for the past",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventOnboardingStepComplete": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event about extending on-boarding process.",
          "required": [
            "$type"
          ],
          "properties": {
            "stepId": {
              "type": "string",
              "description": "Description of completed step in extending on-boarding."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserSettingsUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "User settings updated event.",
          "required": [
            "$type"
          ],
          "properties": {
            "userSettings": {
              "description": "User settings resource.",
              "allOf": [
                {
                  "$ref": "#/definitions/UserSettings"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserPaymentStatusChanged": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event user payment status changed",
          "required": [
            "userAccountId",
            "statusDate",
            "$type"
          ],
          "properties": {
            "userAccountId": {
              "type": "integer",
              "description": "User account id",
              "format": "int64"
            },
            "status": {
              "type": "string",
              "description": "Current status"
            },
            "previousStatus": {
              "type": "string",
              "description": "Previous status"
            },
            "statusDate": {
              "type": "string",
              "description": "Status date",
              "format": "date-time"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventWorkspaceUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event workspace updated.",
          "required": [
            "isPersonal",
            "$type"
          ],
          "properties": {
            "workspaceId": {
              "type": "string",
              "description": "Workspace id."
            },
            "isPersonal": {
              "type": "boolean",
              "description": "Is personal workspace id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventCategoryTagUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event workspace updated.",
          "required": [
            "categoryType",
            "categoryTypeInstanceId",
            "$type"
          ],
          "properties": {
            "tagId": {
              "type": "string",
              "description": "tag id."
            },
            "workspaceId": {
              "type": "string",
              "description": "Workspace id."
            },
            "categoryType": {
              "description": "category type",
              "allOf": [
                {
                  "$ref": "#/definitions/CategoryEnum"
                }
              ]
            },
            "categoryTypeInstanceId": {
              "type": "integer",
              "description": "category type instance id",
              "format": "int32"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventConversationUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Conversation updated event.",
          "required": [
            "$type"
          ],
          "properties": {
            "cardId": {
              "type": "string",
              "description": "Card id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserAvailabilityStatusChanged": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event user availability status changed",
          "required": [
            "userAccountId",
            "enabledAssignments",
            "outOfOffice",
            "$type"
          ],
          "properties": {
            "userAccountId": {
              "type": "integer",
              "description": "User account id",
              "format": "int64"
            },
            "userId": {
              "type": "string",
              "description": "User id"
            },
            "status": {
              "type": "string",
              "description": "Current status"
            },
            "emoji": {
              "type": "string",
              "description": "Emoji"
            },
            "clearAfter": {
              "type": "string",
              "description": "Clear after",
              "format": "date-time"
            },
            "enabledAssignments": {
              "type": "boolean",
              "description": "Availability available for assignments"
            },
            "outOfOffice": {
              "type": "boolean",
              "description": "Availability out of office "
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventUserAvailabilityStatusDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event user availability status deleted",
          "required": [
            "userAccountId",
            "$type"
          ],
          "properties": {
            "userAccountId": {
              "type": "integer",
              "description": "User account id",
              "format": "int64"
            },
            "userId": {
              "type": "string",
              "description": "User id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventCardAuthorizationUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event card authorization updated (move to team action)",
          "required": [
            "$type"
          ],
          "properties": {
            "cardId": {
              "type": "string",
              "description": "Card id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventFolderUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "User settings updated event.",
          "required": [
            "$type"
          ],
          "properties": {
            "groupId": {
              "type": "string",
              "description": "Card id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventProfileUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event profile reindex resource (gets sent when a profile is reindexed)",
          "required": [
            "$type"
          ],
          "properties": {
            "profileId": {
              "type": "string",
              "description": "Profile id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventProfileDeleted": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event profile deleted resource (gets sent when a profile is deleted)",
          "required": [
            "$type"
          ],
          "properties": {
            "profileId": {
              "type": "string",
              "description": "Profile id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventProfilesChanged": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event profiles changed resource (gets sent when multiple workspace profiles are changed by a background task, e.g. company name change or profile import)",
          "required": [
            "$type"
          ],
          "properties": {
            "workspaceId": {
              "type": "string",
              "description": "Workspace id"
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventCommentReindexed": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event card updated resource (gets sent when a card is updated, e.g. when appointment details change)",
          "required": [
            "comment",
            "$type"
          ],
          "properties": {
            "comment": {
              "description": "Comment resource",
              "allOf": [
                {
                  "$ref": "#/definitions/CommentBase"
                }
              ]
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "EventIntegrationsUpdated": {
      "allOf": [
        {
          "$ref": "#/definitions/EventBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Event workspace updated.",
          "required": [
            "$type"
          ],
          "properties": {
            "integrationId": {
              "type": "string",
              "description": "Integration id."
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ConversationEventList": {
      "allOf": [
        {
          "$ref": "#/definitions/ListOfResourcesOfConversation"
        },
        {
          "type": "object",
          "description": "List of conversation events resources",
          "properties": {
            "lastEventId": {
              "type": "string",
              "description": "Id of the most recent event on the list (is passed to sinceId on the conversation event API)"
            }
          }
        }
      ]
    },
    "ContentSignedLink": {
      "type": "object",
      "description": "ContentSignedLink resource",
      "properties": {
        "signedLink": {
          "type": "string",
          "description": "Url of signed link"
        }
      }
    },
    "ConvertedAttachments": {
      "type": "object",
      "description": "Converted temp attachments.",
      "properties": {
        "tempAttachment": {
          "type": "array",
          "description": "Converted attachments",
          "items": {
            "$ref": "#/definitions/ConvertedTempAttachment"
          }
        }
      }
    },
    "ConvertedTempAttachment": {
      "type": "object",
      "description": "Converted temp attachments.",
      "properties": {
        "fileAttachmentId": {
          "type": "string",
          "description": "Requested Id to be converted to temp attachment  - id started with AF_"
        },
        "tempAttachment": {
          "description": "converted temp attachmemnt",
          "allOf": [
            {
              "$ref": "#/definitions/File"
            }
          ]
        }
      }
    },
    "SharedInboxRequest": {
      "type": "object",
      "description": "SharedInbox request",
      "properties": {
        "group": {
          "description": "Group",
          "allOf": [
            {
              "$ref": "#/definitions/Group"
            }
          ]
        },
        "sharedInboxExtraData": {
          "description": "Extra data for SharedInbox",
          "allOf": [
            {
              "$ref": "#/definitions/SharedInboxExtraData"
            }
          ]
        }
      }
    },
    "SharedInboxExtraData": {
      "type": "object",
      "description": "Shared Inbox.",
      "required": [
        "sharedInboxType"
      ],
      "properties": {
        "creatorEmail": {
          "type": "string",
          "description": "Creator."
        },
        "aliasEmail": {
          "type": "string",
          "description": "Alias email."
        },
        "sharedInboxType": {
          "description": "Shared inbox type.",
          "allOf": [
            {
              "$ref": "#/definitions/SharedInboxType"
            }
          ]
        }
      }
    },
    "SharedInboxType": {
      "type": "string",
      "description": "Shared Inbox types",
      "x-enumNames": [
        "SharedInbox",
        "PersonalInbox"
      ],
      "enum": [
        "SharedInbox",
        "PersonalInbox"
      ]
    },
    "ListOfResourcesOfGroup": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Group"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "TagType": {
      "type": "string",
      "description": "Enum of all possible tag types. All except FOLDER are given by the API gods",
      "x-enumNames": [
        "MUTED",
        "UNREAD",
        "DELETED",
        "HIDDEN",
        "SENT",
        "FOLDER",
        "MENTION",
        "RESPONSEPENDING",
        "STARRED",
        "FAVORITE",
        "FOCUSED",
        "INBOX",
        "FORUMS_G",
        "PERSONAL_G",
        "SOCIAL_G",
        "UPDATES_G",
        "PROMOTIONS_G",
        "IMPORTANT",
        "ARCHIVE",
        "PURGE",
        "SYSTEMMESSAGE",
        "OUTBOX",
        "SPAM",
        "SNOOZE",
        "SNOOZE_INTERRUPT",
        "SNOOZE_DUE",
        "CHATEE",
        "NEWDOMAINUSER",
        "UNREAD_VIRTUAL",
        "FOLLOW",
        "UNFOLLOW"
      ],
      "enum": [
        "MUTED",
        "UNREAD",
        "DELETED",
        "HIDDEN",
        "SENT",
        "FOLDER",
        "MENTION",
        "RESPONSEPENDING",
        "STARRED",
        "FAVORITE",
        "FOCUSED",
        "INBOX",
        "FORUMS_G",
        "PERSONAL_G",
        "SOCIAL_G",
        "UPDATES_G",
        "PROMOTIONS_G",
        "IMPORTANT",
        "ARCHIVE",
        "PURGE",
        "SYSTEMMESSAGE",
        "OUTBOX",
        "SPAM",
        "SNOOZE",
        "SNOOZE_INTERRUPT",
        "SNOOZE_DUE",
        "CHATEE",
        "NEWDOMAINUSER",
        "UNREAD_VIRTUAL",
        "FOLLOW",
        "UNFOLLOW"
      ]
    },
    "ErrorCode": {
      "type": "string",
      "description": "",
      "x-enumNames": [
        "Other",
        "AttachmentTooLarge",
        "InvalidSinceId",
        "OldExchangeServer",
        "AutodiscoveryError",
        "InvalidPassword",
        "InvalidToken",
        "UserNotRegistered",
        "ForbiddenFileType",
        "AuthenticationProviderUriMismatch",
        "TokenExpired",
        "OtpSecretNotSet",
        "OtpCodeNotValid",
        "TokenScopeInvalid",
        "ThumbnailNotAvailableYet",
        "PdfNotAvailableYet",
        "HtmlNotAvailableYet",
        "ActionNotPermitted",
        "Deprecated",
        "AliasUsed",
        "InvalidServer",
        "RemoteServerTemporaryUnavailable",
        "InvalidCertificate",
        "ThumbnailNotSupported",
        "SSLMismatch",
        "ResourceNotAvailableYet",
        "UserLoginBlocked",
        "UserSyncBlocked",
        "ServiceTempUnavailable",
        "UserLoginBlockedPurgeInProgress",
        "GraphApiDisabled",
        "InvalidPasswordOrUsername",
        "UsernameEmailMismatch",
        "MissingFields",
        "EmailNotVerified",
        "ClientAppVersionNotSupported",
        "UprocessableContent"
      ],
      "enum": [
        "Other",
        "AttachmentTooLarge",
        "InvalidSinceId",
        "OldExchangeServer",
        "AutodiscoveryError",
        "InvalidPassword",
        "InvalidToken",
        "UserNotRegistered",
        "ForbiddenFileType",
        "AuthenticationProviderUriMismatch",
        "TokenExpired",
        "OtpSecretNotSet",
        "OtpCodeNotValid",
        "TokenScopeInvalid",
        "ThumbnailNotAvailableYet",
        "PdfNotAvailableYet",
        "HtmlNotAvailableYet",
        "ActionNotPermitted",
        "Deprecated",
        "AliasUsed",
        "InvalidServer",
        "RemoteServerTemporaryUnavailable",
        "InvalidCertificate",
        "ThumbnailNotSupported",
        "SSLMismatch",
        "ResourceNotAvailableYet",
        "UserLoginBlocked",
        "UserSyncBlocked",
        "ServiceTempUnavailable",
        "UserLoginBlockedPurgeInProgress",
        "GraphApiDisabled",
        "InvalidPasswordOrUsername",
        "UsernameEmailMismatch",
        "MissingFields",
        "EmailNotVerified",
        "ClientAppVersionNotSupported",
        "UprocessableContent"
      ]
    },
    "DeviceType": {
      "type": "string",
      "description": "Device type enum",
      "x-enumNames": [
        "iPhone",
        "iPad",
        "Android",
        "Test"
      ],
      "enum": [
        "iPhone",
        "iPad",
        "Android",
        "Test"
      ]
    },
    "EventVersion": {
      "type": "string",
      "description": "API version enum",
      "x-enumNames": [
        "V1"
      ],
      "enum": [
        "V1"
      ]
    },
    "ResponseTypeModel": {
      "type": "string",
      "description": "",
      "x-enumNames": [
        "Accept",
        "Tentative",
        "Decline",
        "Organizer",
        "NeedsAction"
      ],
      "enum": [
        "Accept",
        "Tentative",
        "Decline",
        "Organizer",
        "NeedsAction"
      ]
    },
    "ThumbnailSize": {
      "type": "string",
      "description": "Thumbnail size.",
      "x-enumNames": [
        "Small",
        "Medium"
      ],
      "enum": [
        "Small",
        "Medium"
      ]
    },
    "UserStatus": {
      "type": "string",
      "description": "User status resource",
      "x-enumNames": [
        "Active",
        "Inactive",
        "NotRegistered"
      ],
      "enum": [
        "Active",
        "Inactive",
        "NotRegistered"
      ]
    },
    "EventType": {
      "type": "string",
      "description": "Possible event types",
      "x-enumNames": [
        "UserRegistered",
        "OnboardingComplete",
        "CommentCreated",
        "CommentUpdated",
        "CardCreated",
        "CardUpdated",
        "CardAuthorizationUpdated",
        "TagsCreated",
        "TagsUpdated",
        "SharedTagsUpdated",
        "TokenInvalid",
        "UserOnlineStatusChange",
        "UserActiveReply",
        "UserTyping",
        "ContactUpdated",
        "ContactCreated",
        "ContactDeleted",
        "AvatarUpdated",
        "UserDeleted",
        "GroupDeleted",
        "SyncSettingsUpdated",
        "OnboardingStepComplete",
        "UserSettingsUpdated",
        "UserPaymentStatusUpdated",
        "HistorySyncStarted",
        "HistorySyncEnded",
        "WorkspaceUpdated",
        "BadgeCountUpdated",
        "ConversationUpdated",
        "UserAvailabilityStatusUpdated",
        "UserAvailabilityStatusDeleted",
        "IntegrationsUpdated",
        "FolderTags",
        "SharedFolderTags",
        "CategoryTagUpdated",
        "CommentReindexed",
        "FoldersUpdated",
        "ProfileUpdated",
        "ProfileDeleted",
        "ProfilesChanged"
      ],
      "enum": [
        "UserRegistered",
        "OnboardingComplete",
        "CommentCreated",
        "CommentUpdated",
        "CardCreated",
        "CardUpdated",
        "CardAuthorizationUpdated",
        "TagsCreated",
        "TagsUpdated",
        "SharedTagsUpdated",
        "TokenInvalid",
        "UserOnlineStatusChange",
        "UserActiveReply",
        "UserTyping",
        "ContactUpdated",
        "ContactCreated",
        "ContactDeleted",
        "AvatarUpdated",
        "UserDeleted",
        "GroupDeleted",
        "SyncSettingsUpdated",
        "OnboardingStepComplete",
        "UserSettingsUpdated",
        "UserPaymentStatusUpdated",
        "HistorySyncStarted",
        "HistorySyncEnded",
        "WorkspaceUpdated",
        "BadgeCountUpdated",
        "ConversationUpdated",
        "UserAvailabilityStatusUpdated",
        "UserAvailabilityStatusDeleted",
        "IntegrationsUpdated",
        "FolderTags",
        "SharedFolderTags",
        "CategoryTagUpdated",
        "CommentReindexed",
        "FoldersUpdated",
        "ProfileUpdated",
        "ProfileDeleted",
        "ProfilesChanged"
      ]
    },
    "AuthType": {
      "type": "string",
      "description": "",
      "x-enumNames": [
        "Test",
        "Google",
        "Exchange",
        "Office365",
        "Integration",
        "MicrosoftGraph",
        "ImapSmtp",
        "RemoteImap",
        "Password"
      ],
      "enum": [
        "Test",
        "Google",
        "Exchange",
        "Office365",
        "Integration",
        "MicrosoftGraph",
        "ImapSmtp",
        "RemoteImap",
        "Password"
      ]
    },
    "AccountType": {
      "type": "string",
      "description": "Account types.",
      "x-enumNames": [
        "Gmail",
        "MicrosoftExchange",
        "MicrosoftGraph",
        "RemoteImap"
      ],
      "enum": [
        "Gmail",
        "MicrosoftExchange",
        "MicrosoftGraph",
        "RemoteImap"
      ]
    },
    "EmailServiceType": {
      "type": "string",
      "description": "Possible email service types",
      "x-enumNames": [
        "Google",
        "Exchange",
        "Microsoft",
        "Imap",
        "Other",
        "NotSupported",
        "RemoteImap"
      ],
      "enum": [
        "Google",
        "Exchange",
        "Microsoft",
        "Imap",
        "Other",
        "NotSupported",
        "RemoteImap"
      ]
    },
    "SharedTagSystemNames": {
      "type": "string",
      "description": "Enum of all possible tag names on shared tag system type. ",
      "x-enumNames": [
        "SPAM",
        "DELETED",
        "ARCHIVE",
        "SYSTEMMESSAGE",
        "UNFOLLOW",
        "SENT",
        "INBOX",
        "SYSTEMBUMP",
        "SYSTEMNOTBUMP",
        "DRAFT"
      ],
      "enum": [
        "SPAM",
        "DELETED",
        "ARCHIVE",
        "SYSTEMMESSAGE",
        "UNFOLLOW",
        "SENT",
        "INBOX",
        "SYSTEMBUMP",
        "SYSTEMNOTBUMP",
        "DRAFT"
      ]
    },
    "EmailType": {
      "type": "object",
      "description": "Email type helper class",
      "required": [
        "emailAuthType",
        "hasPasswordSet"
      ],
      "properties": {
        "emailAddress": {
          "type": "string",
          "description": "Requested email address"
        },
        "serverUri": {
          "type": "string",
          "description": "Server uri for email address (filled only for exchange on premise or imap)"
        },
        "port": {
          "type": "integer",
          "description": "Server port for email address (filled only for imap)",
          "format": "int32"
        },
        "emailServiceType": {
          "type": "string",
          "description": "Email service type"
        },
        "emailAuthType": {
          "description": "Email service type",
          "allOf": [
            {
              "$ref": "#/definitions/EmailServiceAuthType"
            }
          ]
        },
        "alreadyRegistered": {
          "type": "boolean",
          "description": "If user is already registered"
        },
        "hasPasswordSet": {
          "type": "boolean",
          "description": "Has password set"
        },
        "userState": {
          "type": "array",
          "description": "List of user states, can be null",
          "items": {
            "type": "string"
          }
        },
        "imapUsername": {
          "type": "string",
          "description": "IMAP username"
        },
        "imapHost": {
          "type": "string",
          "description": "IMAP host"
        },
        "imapPort": {
          "type": "integer",
          "description": "IMAP port",
          "format": "int32"
        },
        "smtpUsername": {
          "type": "string",
          "description": "SMTP username"
        },
        "smtpHost": {
          "type": "string",
          "description": "SMTP password"
        },
        "smtpPort": {
          "type": "integer",
          "description": "SMTP port",
          "format": "int32"
        },
        "microsoftSharedInboxData": {
          "description": "MicrosoftSharedInboxData info",
          "allOf": [
            {
              "$ref": "#/definitions/MicrosoftSharedInboxData"
            }
          ]
        }
      }
    },
    "EmailServiceAuthType": {
      "type": "string",
      "description": "Possible email service auth types",
      "x-enumNames": [
        "NotSupported",
        "LoopLogin",
        "GoogleLogin",
        "GoogleSync",
        "ExchangeLogin",
        "ExchangeSync",
        "MicrosoftLogin",
        "MicrosoftSync",
        "ImapLogin",
        "ImapSync",
        "RemoteImapLogin",
        "RemoteImapSync"
      ],
      "enum": [
        "NotSupported",
        "LoopLogin",
        "GoogleLogin",
        "GoogleSync",
        "ExchangeLogin",
        "ExchangeSync",
        "MicrosoftLogin",
        "MicrosoftSync",
        "ImapLogin",
        "ImapSync",
        "RemoteImapLogin",
        "RemoteImapSync"
      ]
    },
    "MicrosoftSharedInboxData": {
      "type": "object",
      "description": "Microsoft Shared Inbox ",
      "properties": {
        "syncAccountEmail": {
          "type": "string",
          "description": "Shared inbox sync account"
        }
      }
    },
    "ListOfResourcesOfIntegration": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Integration"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "NotificationBase": {
      "type": "object",
      "discriminator": "$type",
      "description": "Notification base.",
      "x-abstract": true,
      "required": [
        "$type"
      ],
      "properties": {
        "recipient": {
          "description": "Recipient of event",
          "allOf": [
            {
              "$ref": "#/definitions/User"
            }
          ]
        },
        "$type": {
          "type": "string"
        }
      }
    },
    "NotificationAlert": {
      "allOf": [
        {
          "$ref": "#/definitions/NotificationBase"
        },
        {
          "type": "object",
          "discriminator": "$type",
          "description": "Notification for alert message via APNS/GCM.",
          "required": [
            "message",
            "$type"
          ],
          "properties": {
            "message": {
              "type": "string",
              "description": "Alert message.",
              "minLength": 1
            },
            "$type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfProfileUserSearch": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ProfileUserSearch"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ProfileSortOrderBy": {
      "type": "string",
      "description": "Contact sort order",
      "x-enumNames": [
        "Name",
        "SearchScore",
        "Weight",
        "ModifiedDate",
        "CreatedDate"
      ],
      "enum": [
        "Name",
        "SearchScore",
        "Weight",
        "ModifiedDate",
        "CreatedDate"
      ]
    },
    "ProfileCount": {
      "type": "object",
      "description": "Number of profiles matching a profile list filter.",
      "required": [
        "count"
      ],
      "properties": {
        "count": {
          "type": "integer",
          "description": "Total number of matching profiles.",
          "format": "int64"
        }
      }
    },
    "ProfileCompanyLinkRequest": {
      "type": "object",
      "description": "Request body to link or unlink a profile's Company.",
      "required": [
        "companyLinkManual"
      ],
      "properties": {
        "companyId": {
          "type": "string",
          "description": "Company to link, or null to unlink."
        },
        "companyLinkManual": {
          "type": "boolean",
          "description": "True for a manual link/unlink (pins the profile so the domain job never overrides it).\nAlways true when called through this endpoint — the only automatic path is the domain job."
        }
      }
    },
    "ProfileMergeRequest": {
      "type": "object",
      "description": "Merge profile request",
      "properties": {
        "primaryProfileId": {
          "type": "string",
          "description": "Primary profile"
        },
        "secondaryProfileId": {
          "type": "string",
          "description": "Secondary profile"
        }
      }
    },
    "ProfileBatchActionResult": {
      "type": "object",
      "description": "Result of a profile batch action: one outcome entry per requested profile.",
      "properties": {
        "results": {
          "type": "array",
          "description": "Per-profile outcome, in the same order as the requested profile IDs.",
          "items": {
            "$ref": "#/definitions/ProfileBatchActionItemResult"
          }
        },
        "signedLink": {
          "type": "string",
          "description": "Signed, time-limited download link to the result file. Only set for the Export action, and only\nwhen at least one profile was exported; null for every other action."
        }
      }
    },
    "ProfileBatchActionItemResult": {
      "type": "object",
      "description": "Outcome of a batch action for a single profile.",
      "required": [
        "success"
      ],
      "properties": {
        "profileId": {
          "type": "string",
          "description": "Profile ID this result applies to."
        },
        "success": {
          "type": "boolean",
          "description": "Whether the action succeeded for this profile."
        },
        "error": {
          "type": "string",
          "description": "Error message describing why the action failed for this profile. Null when Success is true."
        }
      }
    },
    "ProfileBatchActionRequest": {
      "type": "object",
      "description": "Request body for the profile batch action endpoint.",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "description": "Action to perform on the listed profiles.",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileBatchActionType"
            }
          ]
        },
        "profileIds": {
          "type": "array",
          "description": "Profile IDs to perform the action on. All profiles must belong to the same workspace.",
          "items": {
            "type": "string"
          }
        },
        "companyId": {
          "type": "string",
          "description": "Company ID. Required for the RemoveCompany action, where it is used as a safety check: a profile\nis only unlinked if it is currently linked to this exact company. Ignored for other actions."
        }
      }
    },
    "ProfileBatchActionType": {
      "type": "string",
      "description": "Action to perform in a profile batch action request.",
      "x-enumNames": [
        "Delete",
        "RemoveCompany"
      ],
      "enum": [
        "Delete",
        "RemoveCompany"
      ]
    },
    "ListOfResourcesOfProfileUser": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ProfileUser"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ProfileImportTaskResult": {
      "type": "object",
      "description": "Status and result data for a single profile import task.",
      "required": [
        "dryRun",
        "source",
        "status",
        "totalRequested",
        "totalProcedded",
        "importedCount",
        "conflictCount",
        "failedCount",
        "warningCount",
        "rowResultsTruncated",
        "createdAt"
      ],
      "properties": {
        "importTaskId": {
          "type": "string",
          "description": "Unique identifier of the import task."
        },
        "userId": {
          "type": "string",
          "description": "User ID of the user who started the import task."
        },
        "dryRun": {
          "type": "boolean",
          "description": "Indicates whether the import task was a dry run (no actual import performed)."
        },
        "source": {
          "description": "Format the profiles were submitted in.",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportSource"
            }
          ]
        },
        "status": {
          "description": "Current status of the import task.",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportStatus"
            }
          ]
        },
        "totalRequested": {
          "type": "integer",
          "description": "Total number of profiles submitted for import.",
          "format": "int32"
        },
        "totalProcedded": {
          "type": "integer",
          "description": "Total number of profiles are allready procedded.",
          "format": "int32"
        },
        "importedCount": {
          "type": "integer",
          "description": "Number of profiles successfully imported.",
          "format": "int32"
        },
        "conflictCount": {
          "type": "integer",
          "description": "Number of profiles that already existed (conflict).",
          "format": "int32"
        },
        "failedCount": {
          "type": "integer",
          "description": "Number of profiles that failed for reasons other than conflict.",
          "format": "int32"
        },
        "warningCount": {
          "type": "integer",
          "description": "Number of profiles that were imported but carry at least one warning.",
          "format": "int32"
        },
        "conflictIndexIds": {
          "type": "object",
          "description": "Index of profiles that caused a conflict, mapped to the conflict message.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "failedIndexIds": {
          "type": "object",
          "description": "Index of profiles that failed, mapped to the exception message.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "issueGroups": {
          "type": "array",
          "description": "Issues collapsed by error code, ordered by number of affected rows. This is what a client\nshould render as the summary of a dry run - e.g. \"Invalid phone number - 3 rows\".",
          "items": {
            "$ref": "#/definitions/ProfileImportIssueGroup"
          }
        },
        "rowResults": {
          "type": "array",
          "description": "Per row detail for every row that carries an issue, capped at the first 500 rows.\nThe full set is always available through ErrorReportUrlLink.",
          "items": {
            "$ref": "#/definitions/ProfileImportRowResult"
          }
        },
        "rowResultsTruncated": {
          "type": "boolean",
          "description": "True when RowResults hit the cap and does not list every affected row."
        },
        "createdAt": {
          "type": "string",
          "description": "When the import task was created.",
          "format": "date-time"
        },
        "completedAt": {
          "type": "string",
          "description": "When the import task finished processing, or null if still in progress.",
          "format": "date-time"
        },
        "importDataUrlLink": {
          "type": "string",
          "description": "Request import data link"
        },
        "errorReportUrlLink": {
          "type": "string",
          "description": "Time limited link to a CSV document holding every row that carries an issue, with the original\ncolumns plus Row, Status, ErrorCode, ErrorMessage, ErrorField and ErrorValue. Null while the task\nis still running and when no row had an issue."
        }
      }
    },
    "ProfileImportSource": {
      "type": "string",
      "description": "Format the profiles of an import task were submitted in. Used to translate a zero based profile\nindex into the row number of the original document - a CSV document has a header row.",
      "x-enumNames": [
        "Json",
        "Csv"
      ],
      "enum": [
        "Json",
        "Csv"
      ]
    },
    "ProfileImportStatus": {
      "type": "string",
      "description": "Current status of a profile import task.",
      "x-enumNames": [
        "Pending",
        "InProgress",
        "Completed",
        "Failed"
      ],
      "enum": [
        "Pending",
        "InProgress",
        "Completed",
        "Failed"
      ]
    },
    "ProfileImportIssueGroup": {
      "type": "object",
      "description": "All rows that failed for the same reason, collapsed into one entry, so a client can render\n\"Invalid phone number - 3 rows\" without walking the row list itself.",
      "required": [
        "code",
        "severity",
        "count"
      ],
      "properties": {
        "code": {
          "description": "Machine readable reason shared by every row in the group.",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportErrorCode"
            }
          ]
        },
        "severity": {
          "description": "Whether the rows were rejected (Error) or only flagged (Warning).",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportIssueSeverity"
            }
          ]
        },
        "message": {
          "type": "string",
          "description": "Generic message for the group, without any row specific value in it."
        },
        "count": {
          "type": "integer",
          "description": "Number of rows affected by this issue.",
          "format": "int32"
        },
        "field": {
          "type": "string",
          "description": "Column the issue belongs to, e.g. Emails, Phones, PhotoLink - null when it applies to the whole row."
        },
        "rowNumbers": {
          "type": "array",
          "description": "Row numbers of the affected rows, capped at the first 100.",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        },
        "sampleValues": {
          "type": "array",
          "description": "A few offending values as examples, capped at the first 5.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ProfileImportErrorCode": {
      "type": "string",
      "description": "Stable, machine readable reason an import row was rejected or flagged. Clients should group and\ntranslate on this value, never on the free text message.",
      "x-enumNames": [
        "Unknown",
        "MissingIdentificator",
        "EmptyIdentificator",
        "InvalidEmail",
        "InvalidPhoneNumber",
        "DuplicateIdentificatorInFile",
        "IdentificatorConflict",
        "IdentificatorMismatch",
        "InvalidPhotoLink",
        "InvalidPhotoImage",
        "PhotoImportFailed",
        "AccessDenied",
        "CompanyLinkFailed"
      ],
      "enum": [
        "Unknown",
        "MissingIdentificator",
        "EmptyIdentificator",
        "InvalidEmail",
        "InvalidPhoneNumber",
        "DuplicateIdentificatorInFile",
        "IdentificatorConflict",
        "IdentificatorMismatch",
        "InvalidPhotoLink",
        "InvalidPhotoImage",
        "PhotoImportFailed",
        "AccessDenied",
        "CompanyLinkFailed"
      ]
    },
    "ProfileImportIssueSeverity": {
      "type": "string",
      "description": "Severity of a single issue found on an import row.",
      "x-enumNames": [
        "Error",
        "Warning"
      ],
      "enum": [
        "Error",
        "Warning"
      ]
    },
    "ProfileImportRowResult": {
      "type": "object",
      "description": "Result of a single row of an import task. Only rows carrying at least one issue are reported.",
      "required": [
        "rowIndex",
        "rowNumber",
        "status"
      ],
      "properties": {
        "rowIndex": {
          "type": "integer",
          "description": "Zero based index of the profile inside the submitted profile list.",
          "format": "int32"
        },
        "rowNumber": {
          "type": "integer",
          "description": "One based row number in the original document - for a CSV upload this counts the header row,\nso it is the line number the user sees in a spreadsheet.",
          "format": "int32"
        },
        "name": {
          "type": "string",
          "description": "Name of the submitted profile."
        },
        "title": {
          "type": "string",
          "description": "Job title of the submitted profile."
        },
        "emails": {
          "type": "string",
          "description": "Semicolon separated emails of the submitted profile."
        },
        "phones": {
          "type": "string",
          "description": "Semicolon separated phone numbers of the submitted profile."
        },
        "status": {
          "description": "Outcome of the row.",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportRowStatus"
            }
          ]
        },
        "issues": {
          "type": "array",
          "description": "Issues found on the row - at most one error, plus any number of warnings.",
          "items": {
            "$ref": "#/definitions/ProfileImportIssue"
          }
        }
      }
    },
    "ProfileImportRowStatus": {
      "type": "string",
      "description": "Outcome of a single row of an import task.",
      "x-enumNames": [
        "Imported",
        "Conflict",
        "Failed"
      ],
      "enum": [
        "Imported",
        "Conflict",
        "Failed"
      ]
    },
    "ProfileImportIssue": {
      "type": "object",
      "description": "A single problem found on an import row.",
      "required": [
        "code",
        "severity"
      ],
      "properties": {
        "code": {
          "description": "Machine readable reason. Use this for grouping and translating.",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportErrorCode"
            }
          ]
        },
        "severity": {
          "description": "Whether the row was rejected (Error) or only flagged (Warning).",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportIssueSeverity"
            }
          ]
        },
        "message": {
          "type": "string",
          "description": "Human readable message, including the offending value."
        },
        "field": {
          "type": "string",
          "description": "Column the issue belongs to, e.g. Emails, Phones, PhotoLink - null when it applies to the whole row."
        },
        "value": {
          "type": "string",
          "description": "The offending value, e.g. the malformed phone number."
        }
      }
    },
    "ProfileImportRequest": {
      "type": "object",
      "description": "Request body for the bulk profile import endpoint.",
      "required": [
        "dryRun",
        "source"
      ],
      "properties": {
        "profiles": {
          "type": "array",
          "description": "List of profiles to import.",
          "items": {
            "$ref": "#/definitions/ProfileImport"
          }
        },
        "dryRun": {
          "type": "boolean",
          "description": "dryrun flag to indicate whether to perform a dry run of the export (no actual export will be performed)."
        },
        "source": {
          "description": "Format the profiles were submitted in. Set by the server, only used to report row numbers\nthat line up with the original document.",
          "allOf": [
            {
              "$ref": "#/definitions/ProfileImportSource"
            }
          ]
        }
      }
    },
    "ProfileImport": {
      "type": "object",
      "description": "Describes a single public profile to import.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Full name of the profile."
        },
        "title": {
          "type": "string",
          "description": "Job title of the profile."
        },
        "photoLink": {
          "type": "string",
          "description": "URL link to the profile photo."
        },
        "photoBase64Image": {
          "type": "string",
          "description": "Base64-encoded photo image."
        },
        "profileIdentificators": {
          "type": "array",
          "description": "List of user identificators linked to this profile.",
          "items": {
            "$ref": "#/definitions/ProfileUserIdentificatorBase"
          }
        },
        "externalCompanyId": {
          "type": "string",
          "description": "External ID of the company the profile is manually linked to. When the workspace has no company\nwith this external ID yet, one is created, named after the external ID."
        }
      }
    },
    "ProfileExportRequest": {
      "type": "object",
      "description": "Request body for the profile export-to-CSV endpoint. Exactly one of ImportDataUrlLink, ProfileIds\nor CompanyId must be set.",
      "properties": {
        "importDataUrlLink": {
          "type": "string",
          "description": "URL link to the JSON import document to export, e.g. ProfileImportTaskResult.ImportDataUrlLink."
        },
        "profileIds": {
          "type": "array",
          "description": "Profile IDs to export. All profiles must belong to the same workspace and the list size is capped at MaxPageSize.",
          "items": {
            "type": "string"
          }
        },
        "companyId": {
          "type": "string",
          "description": "Company ID whose linked profiles are exported."
        }
      }
    },
    "ListOfResourcesOfProfileImportTaskResult": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ProfileImportTaskResult"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ReportingExportResult": {
      "type": "object",
      "description": "Export Result resource",
      "required": [
        "id",
        "status"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Export id"
        },
        "status": {
          "description": "Export status",
          "allOf": [
            {
              "$ref": "#/definitions/ExportStatus"
            }
          ]
        },
        "url": {
          "type": "string",
          "description": "Url of export result - with authorization (signature) and expire date"
        }
      }
    },
    "ExportStatus": {
      "type": "string",
      "description": "Possible Status Types",
      "x-enumNames": [
        "Expired",
        "Failed",
        "Processing",
        "Completed"
      ],
      "enum": [
        "Expired",
        "Failed",
        "Processing",
        "Completed"
      ]
    },
    "ReportingExportRequest": {
      "type": "object",
      "description": "Export Request resource",
      "required": [
        "start",
        "end",
        "resultFormat"
      ],
      "properties": {
        "timezone": {
          "type": "string",
          "description": "The timezone used to calculate and export the data. Start time and end time"
        },
        "start": {
          "type": "integer",
          "description": "Start time of the data to include in the export (total seconds after epoch)",
          "format": "int64"
        },
        "end": {
          "type": "integer",
          "description": "End time of the data to include in the export (total seconds after epoch)",
          "format": "int64"
        },
        "resultFormat": {
          "description": "Export format",
          "allOf": [
            {
              "$ref": "#/definitions/ResultFormatEnum"
            }
          ]
        },
        "tagIds": {
          "type": "array",
          "description": "List of tag ids",
          "items": {
            "type": "string"
          }
        },
        "teamIds": {
          "type": "array",
          "description": "List of team ids",
          "items": {
            "type": "string"
          }
        },
        "teammateIds": {
          "type": "array",
          "description": "List of teammate ids",
          "items": {
            "type": "string"
          }
        },
        "customerIds": {
          "type": "array",
          "description": "List of customer ids",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ResultFormatEnum": {
      "type": "string",
      "description": "Possible Result Format Types",
      "x-enumNames": [
        "Json",
        "Xlsx"
      ],
      "enum": [
        "Json",
        "Xlsx"
      ]
    },
    "BatchTagRequest": {
      "type": "object",
      "description": "BatchTagRequest",
      "properties": {
        "tagIdParents": {
          "type": "array",
          "description": "batch id parent",
          "items": {
            "$ref": "#/definitions/TagIdParent"
          }
        }
      }
    },
    "TagIdParent": {
      "type": "object",
      "description": "TagIdParent",
      "properties": {
        "id": {
          "type": "string",
          "description": "id tag"
        },
        "parentId": {
          "type": "string",
          "description": "parent id"
        }
      }
    },
    "ListOfResourcesOfSharedTagFolder": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SharedTagFolder"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfListOfGroupSharedFolderTags": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ListOfGroupSharedFolderTags"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfGroupSharedFolderTags": {
      "type": "object",
      "description": "List of groups shared folder tags resource",
      "properties": {
        "tags": {
          "description": "List of tags for resource",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfSharedTagFolder"
            }
          ]
        },
        "systemTags": {
          "description": "List of system tags for resource",
          "allOf": [
            {
              "$ref": "#/definitions/ListOfResourcesOfSharedTagFolder"
            }
          ]
        },
        "parent": {
          "description": "Resource the tags are set for",
          "allOf": [
            {
              "$ref": "#/definitions/Group"
            }
          ]
        }
      }
    },
    "ListOfResourcesOfLabelsWorkspace": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/LabelsWorkspace"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "LabelsWorkspace": {
      "type": "object",
      "description": "List of labels resource",
      "required": [
        "canEditLabels",
        "labelCounts"
      ],
      "properties": {
        "workspace": {
          "description": "Workspace of labels",
          "allOf": [
            {
              "$ref": "#/definitions/ResourceBase"
            }
          ]
        },
        "canEditLabels": {
          "type": "boolean",
          "description": "Can edit Workspace of labels"
        },
        "labelCounts": {
          "type": "integer",
          "description": "Label count in workspace",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfSharedTagLabel": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SharedTagLabel"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfListOfResourcesOfSharedTagLabel": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ListOfResourcesOfSharedTagLabel"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfClassificationsWorkspace": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ClassificationsWorkspace"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ClassificationsWorkspace": {
      "type": "object",
      "description": "List of labels resource",
      "required": [
        "canEditClassification",
        "classificationCounts"
      ],
      "properties": {
        "workspace": {
          "description": "Workspace of labels",
          "allOf": [
            {
              "$ref": "#/definitions/ResourceBase"
            }
          ]
        },
        "canEditClassification": {
          "type": "boolean",
          "description": "Can edit Workspace of labels"
        },
        "classificationCounts": {
          "type": "integer",
          "description": "Label count in workspace",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfSharedTagClassification": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SharedTagClassification"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfListOfResourcesOfSharedTagClassification": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/ListOfResourcesOfSharedTagClassification"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfSignature": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Signature"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "Subscription": {
      "type": "object",
      "description": "Subscription resource",
      "properties": {
        "id": {
          "type": "string",
          "description": "Subscription id"
        },
        "eventTypes": {
          "type": "array",
          "description": "Signature text (BB code)",
          "items": {
            "type": "string"
          }
        },
        "notificationUrl": {
          "type": "string",
          "description": "Signature text (BB code)"
        },
        "context": {
          "type": "string",
          "description": "Signature text (BB code)"
        },
        "validUntil": {
          "type": "string",
          "description": "Time of card creation",
          "format": "date-time"
        }
      }
    },
    "ListOfResourcesOfSubscription": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/Subscription"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfSubscriptionLicense": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/SubscriptionLicense"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "ListOfResourcesOfTagLabel": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/TagLabel"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    },
    "AuthenticationCode": {
      "type": "object",
      "description": "Authentication Code for code exchange",
      "properties": {
        "code": {
          "type": "string",
          "description": "Just the auth code"
        },
        "codeDeepLink": {
          "type": "string",
          "description": "Code in an appropriate deep link form"
        }
      }
    },
    "UserActivityListEntry": {
      "type": "object",
      "required": [
        "lastActivityTime"
      ],
      "properties": {
        "lastActivityTime": {
          "type": "string",
          "format": "date-time"
        },
        "userId": {
          "type": "string"
        }
      }
    },
    "UserPaymentStatus": {
      "type": "object",
      "description": "UserPaymentStatus resource",
      "required": [
        "statusDate",
        "modifiedDate"
      ],
      "properties": {
        "userId": {
          "type": "string",
          "description": "User account Id"
        },
        "status": {
          "type": "string",
          "description": "payment status"
        },
        "previousStatus": {
          "type": "string",
          "description": "previous payment status"
        },
        "statusDate": {
          "type": "string",
          "description": "status date",
          "format": "date-time"
        },
        "modifiedDate": {
          "type": "string",
          "description": "modified date",
          "format": "date-time"
        }
      }
    },
    "CreateAccountResponse": {
      "type": "object",
      "description": "Create account response",
      "required": [
        "created",
        "allreadyExists",
        "passwordPolicyFailed"
      ],
      "properties": {
        "created": {
          "type": "boolean",
          "description": "Created"
        },
        "allreadyExists": {
          "type": "boolean",
          "description": "allready exists"
        },
        "passwordPolicyFailed": {
          "type": "boolean",
          "description": "password policy failed"
        }
      }
    },
    "CreateAccountRequest": {
      "type": "object",
      "description": "Create account request",
      "properties": {
        "identificator": {
          "type": "string",
          "description": "Identification - email"
        },
        "firstName": {
          "type": "string",
          "description": "User first name"
        },
        "lastName": {
          "type": "string",
          "description": "User last name"
        },
        "password": {
          "type": "string",
          "description": "Password of user"
        },
        "intent": {
          "type": "string",
          "description": "Intent of user registration"
        }
      }
    },
    "ForgotPasswordResponse": {
      "type": "object",
      "description": "Forgot password response",
      "required": [
        "emailSend"
      ],
      "properties": {
        "emailSend": {
          "type": "boolean",
          "description": "Email send"
        }
      }
    },
    "DeleteUserAccessResponse": {
      "type": "object",
      "description": "Forgot password response",
      "required": [
        "emailSend"
      ],
      "properties": {
        "emailSend": {
          "type": "boolean",
          "description": "Email send"
        }
      }
    },
    "ChangePasswordResponse": {
      "type": "object",
      "description": "Create account response",
      "required": [
        "changed",
        "passwordPolicyFailed",
        "noPasswordAuthorization",
        "authorizationFailed"
      ],
      "properties": {
        "changed": {
          "type": "boolean",
          "description": "Changed"
        },
        "passwordPolicyFailed": {
          "type": "boolean",
          "description": "password policy failed"
        },
        "noPasswordAuthorization": {
          "type": "boolean",
          "description": "no passord set for this accont"
        },
        "authorizationFailed": {
          "type": "boolean",
          "description": "authorization failed"
        }
      }
    },
    "ChangePasswordRequest": {
      "type": "object",
      "description": "Create account request",
      "properties": {
        "identificator": {
          "type": "string",
          "description": "Identification - email"
        },
        "key": {
          "type": "string",
          "description": "Key from verification mail"
        },
        "oldPassword": {
          "type": "string",
          "description": "OldPassword"
        },
        "newPassword": {
          "type": "string",
          "description": "New Password of user"
        },
        "newPasswordConfirm": {
          "type": "string",
          "description": "New Password confirm"
        }
      }
    },
    "ApiKeyToken": {
      "type": "object",
      "description": "api key token",
      "required": [
        "validUntil"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Api key id"
        },
        "name": {
          "type": "string",
          "description": "Name of api key token"
        },
        "endOfJwtToken": {
          "type": "string",
          "description": "End of jwt token"
        },
        "validUntil": {
          "type": "string",
          "description": "Valid until",
          "format": "date-time"
        },
        "accessScopes": {
          "type": "array",
          "description": "list of access scope",
          "items": {
            "$ref": "#/definitions/AccessScope"
          }
        }
      }
    },
    "AccessScope": {
      "type": "object",
      "description": "Access scope",
      "required": [
        "type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Id access scope"
        },
        "type": {
          "description": "Access scope type",
          "allOf": [
            {
              "$ref": "#/definitions/AccessScopeType"
            }
          ]
        }
      }
    },
    "AccessScopeType": {
      "type": "string",
      "description": "AccessScopeType",
      "x-enumNames": [
        "All",
        "Settings",
        "Command",
        "Self",
        "Report"
      ],
      "enum": [
        "All",
        "Settings",
        "Command",
        "Self",
        "Report"
      ]
    },
    "ContentSignedLinkWithFilename": {
      "type": "object",
      "description": "ContentSignedLinkWithFilename resource",
      "properties": {
        "fileName": {
          "type": "string",
          "description": "filename of content"
        },
        "signedLink": {
          "type": "string",
          "description": "Url of signed link"
        }
      }
    },
    "EventList": {
      "allOf": [
        {
          "$ref": "#/definitions/ListOfResourcesOfEventBase"
        },
        {
          "type": "object",
          "description": "List of events resources",
          "properties": {
            "lastEventId": {
              "type": "string",
              "description": "Id of the most recent event on the list (is passed to sinceId on the event API)"
            }
          }
        }
      ]
    },
    "ListOfResourcesOfEventBase": {
      "type": "object",
      "description": "List of resources",
      "required": [
        "size",
        "offset",
        "totalSize"
      ],
      "properties": {
        "resources": {
          "type": "array",
          "description": "List of resources",
          "items": {
            "$ref": "#/definitions/EventBase"
          }
        },
        "size": {
          "type": "integer",
          "description": "Page size",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "description": "Page offset",
          "format": "int32"
        },
        "offsetHistoryId": {
          "type": "string",
          "description": "Offset history id"
        },
        "totalSize": {
          "type": "integer",
          "description": "Total size (if total size is at least one bigger than size, then there are more resources).\nTotal size does not necessarily mean the actual total size",
          "format": "int32"
        }
      }
    }
  },
  "securityDefinitions": {
    "access_token": {
      "type": "apiKey",
      "description": "Token should be in format \"Bearer {access_token}\"",
      "name": "Authorization",
      "in": "header"
    }
  },
  "security": [
    {
      "access_token": []
    }
  ]
}