{
  "swagger": "2.0",
  "info": {
    "title": "Plumsail HelpDesk MS Flow connector v4",
    "description": "The API allows interact with Plumsail HelpDesk ticketing system. Visit https://plumsail.com/docs/help-desk-o365/v1.x/API/ms-flow.html for more information.",
    "contact": {
      "name": "Plumsail",
      "url": "https://plumsail.com/sharepoint-helpdesk",
      "email": "support@plumsail.com"
    },
    "version": "v4"
  },
  "host": "helpdesk-services.plumsail.com",
  "schemes": [
    "https"
  ],
  "paths": {
    "/_flow/v4/Tickets": {
      "post": {
        "tags": [
          "Tickets"
        ],
        "summary": "Create a ticket",
        "description": "Creates new ticket and returns created ticket.",
        "operationId": "Tickets_Create",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "ticket",
            "description": "Ticket model",
            "schema": {
              "$ref": "#/definitions/TicketCreate"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TicketRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Get tickets",
        "description": "Get tickets list",
        "operationId": "Tickets_GetAll",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          },
          {
            "in": "query",
            "name": "$filter",
            "description": "An ODATA $filter query option to restrict the entries returned",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$filter"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "description": "An ODATA $orderBy query option for specifying the order of entries.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$orderBy"
          },
          {
            "in": "query",
            "name": "$top",
            "description": "An ODATA $top query option to select the first n items of the return set for return (default = 50, maximum = 100).",
            "type": "integer",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$top"
          },
          {
            "in": "query",
            "name": "$skiptoken",
            "description": "An ODATA $skiptoken query option to skip over items until the specified item is reached and return the rest.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$skiptoken"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TicketRead"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Tickets/{id}": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Get a single ticket by list item Id",
        "description": "Gets a ticket by list item Id and returns it",
        "operationId": "Tickets_GetById",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "List item Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "List item Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TicketRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "put": {
        "tags": [
          "Tickets"
        ],
        "summary": "Update a ticket by list item Id",
        "description": "Gets a ticket by list item Id and updates it. Returns updated ticket.",
        "operationId": "Tickets_Update",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "List item Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "List item Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "ticket",
            "description": "Ticket model",
            "schema": {
              "$ref": "#/definitions/TicketUpdate"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TicketRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "delete": {
        "tags": [
          "Tickets"
        ],
        "summary": "Delete a ticket by list item Id",
        "description": "Deletes ticket by list item Id.",
        "operationId": "Tickets_Delete",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "List item Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "List item Id",
            "x-ms-url-encoding": "single"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Tickets/{id}/Attachments/{filename}": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Download attachment by list item Id",
        "description": "Returns attachment file for specific ticket by its name, or returns error code",
        "operationId": "Tickets_DownloadAttachment",
        "produces": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "List item Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "List item Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "path",
            "name": "filename",
            "description": "Attachment Filename",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Attachment Filename",
            "x-ms-url-encoding": "single"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "200": {
            "description": "Returns the requested file",
            "schema": {
              "format": "binary",
              "title": "Result file",
              "type": "string"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "400": {
            "description": "Couldn't retrieve requested file"
          }
        }
      }
    },
    "/_flow/v4/Tickets/{ticketId}/Comments": {
      "post": {
        "tags": [
          "Tickets"
        ],
        "summary": "Create a comment by list item Id",
        "description": "Creates new comment for a ticket with specified list item Id and returns it.",
        "operationId": "Comments_Create",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "description": "List item Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "List item Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "comment",
            "description": "Comment",
            "schema": {
              "$ref": "#/definitions/CommentWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/CommentRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Get all comments for a ticket by list item Id",
        "description": "Gets all comments for a ticket with specified list item Id.",
        "operationId": "Comments_GetAll",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "description": "List item Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "List item Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          },
          {
            "in": "query",
            "name": "$filter",
            "description": "An ODATA $filter query option to restrict the entries returned",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$filter"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "description": "An ODATA $orderBy query option for specifying the order of entries.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$orderBy"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CommentRead"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Tickets/{ticketId}/Comments/{id}": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Get a single comment by list item Id",
        "description": "Gets a comment by list item Id and returns it.",
        "operationId": "Comments_GetById",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "description": "List item Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "List item Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "path",
            "name": "id",
            "description": "Comment Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Comment Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CommentRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Tickets/{ticketId}/Comments/GetResult": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Comments_GetResult",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CommentRead"
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Tickets/{ticketId}/Comments/GetResults": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Comments_GetResults",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CommentRead"
              }
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Tickets/GetResult": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Tickets_GetResult",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TicketRead"
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Tickets/GetResultEmpty": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Tickets_GetResultEmpty",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Tickets/GetResultFile": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Tickets_GetResultFile",
        "produces": [
          "application/octet-stream",
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Tickets/GetResults": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Tickets_GetResults",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TicketRead"
              }
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Tickets/tid('{id}')": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Get a single ticket by Ticket Id",
        "description": "Gets a ticket by Ticket Id and returns it",
        "operationId": "Tickets_GetByTicketId",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Ticket Id",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Ticket Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TicketRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "put": {
        "tags": [
          "Tickets"
        ],
        "summary": "Update a ticket by Ticket Id",
        "description": "Gets a ticket by Ticket Id and updates it. Returns updated ticket.",
        "operationId": "Tickets_UpdateByTicketId",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Ticket Id",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Ticket Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "ticket",
            "description": "Ticket model",
            "schema": {
              "$ref": "#/definitions/TicketUpdate"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TicketRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "delete": {
        "tags": [
          "Tickets"
        ],
        "summary": "Delete a ticket by Ticket Id",
        "description": "Deletes ticket by Ticket Id.",
        "operationId": "Tickets_DeleteByTicketId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Ticket Id",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Ticket Id",
            "x-ms-url-encoding": "single"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Tickets/tid('{id}')/Attachments/{filename}": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Download attachment by Ticket Id",
        "description": "Returns attachment file for specific ticket by its name, or returns error code",
        "operationId": "Tickets_DownloadAttachmentByTicketId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Ticket Id",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Ticket Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "path",
            "name": "filename",
            "description": "Attachment Filename",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Attachment Filename",
            "x-ms-url-encoding": "single"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "400": {
            "description": "Couldn't retrieve requested file"
          }
        }
      }
    },
    "/_flow/v4/Tickets/tid('{ticketId}')/Comments": {
      "post": {
        "tags": [
          "Tickets"
        ],
        "summary": "Create a comment by Ticket Id",
        "description": "Creates new comment for a ticket with specified Ticket Id and returns it.",
        "operationId": "Comments_CreateByTicketId",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "description": "Ticket Id",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Ticket Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "comment",
            "description": "Comment",
            "schema": {
              "$ref": "#/definitions/CommentWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/CommentRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Get all comments for a ticket by Ticket Id",
        "description": "Gets all comments for a ticket with specified Ticket Id.",
        "operationId": "Comments_GetAllByTicketId",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "description": "Ticket Id",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Ticket Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          },
          {
            "in": "query",
            "name": "$filter",
            "description": "An ODATA $filter query option to restrict the entries returned",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$filter"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "description": "An ODATA $orderBy query option for specifying the order of entries.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$orderBy"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CommentRead"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Tickets/tid('{ticketId}')/Comments/{id}": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "summary": "Get a single comment by Ticket Id",
        "description": "Gets a comment by Ticket Id and returns it.",
        "operationId": "Comments_GetByTicketId",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "description": "Ticket Id",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Ticket Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "path",
            "name": "id",
            "description": "Comment Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Comment Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CommentRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Tickets/tid('{ticketId}')/Comments/GetResult": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Comments_GetResultByTicketId",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "required": true,
            "type": "string",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CommentRead"
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Tickets/tid('{ticketId}')/Comments/GetResults": {
      "get": {
        "tags": [
          "Tickets"
        ],
        "operationId": "Comments_GetResultsByTicketId",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ticketId",
            "required": true,
            "type": "string",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CommentRead"
              }
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get contacts",
        "description": "Get contacts list",
        "operationId": "Contacts_GetAll",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          },
          {
            "in": "query",
            "name": "$filter",
            "description": "An ODATA $filter query option to restrict the entries returned",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$filter"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "description": "An ODATA $orderBy query option for specifying the order of entries.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$orderBy"
          },
          {
            "in": "query",
            "name": "$top",
            "description": "An ODATA $top query option to select the first n items of the return set for return (default = 50, maximum = 100).",
            "type": "integer",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$top"
          },
          {
            "in": "query",
            "name": "$skiptoken",
            "description": "An ODATA $skiptoken query option to skip over items until the specified item is reached and return the rest.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$skiptoken"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactRead"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create a contact",
        "description": "Creates new contact and returns it.",
        "operationId": "Contacts_Create",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "updateIfExists",
            "description": "Update contact if it already exists",
            "type": "boolean",
            "default": false,
            "x-ms-summary": "Update Contact if exists"
          },
          {
            "in": "body",
            "name": "contact",
            "description": "Contact model",
            "schema": {
              "$ref": "#/definitions/ContactWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ContactRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Contacts/{id}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get a single contact by Id",
        "description": "Gets a contact by Id and returns it.",
        "operationId": "Contacts_GetById",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Contact Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Contact Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update a contact",
        "description": "Finds a contact by Id and updates it. Returns updated contact.",
        "operationId": "Contacts_Update",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Contact Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Contact Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "contact",
            "description": "Contact model",
            "schema": {
              "$ref": "#/definitions/ContactWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "delete": {
        "tags": [
          "Contacts"
        ],
        "summary": "Delete a contact",
        "description": "Deletes contact by Id",
        "operationId": "Contacts_Delete",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Contact Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Contact Id",
            "x-ms-url-encoding": "single"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Contacts/ByEmail/{email}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get a single contact by Email",
        "description": "Gets a contact by email and returns it.",
        "operationId": "Contacts_GetByEmail",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "email",
            "description": "Contact Email",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Contact Email",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update a contact by Email",
        "description": "Finds a contact by email and updates it. Returns updated contact.",
        "operationId": "Contacts_UpdateByEmail",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "email",
            "description": "Contact email",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Contact Email",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "contact",
            "description": "Contact model",
            "schema": {
              "$ref": "#/definitions/ContactWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Contacts/GetResult": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "operationId": "Contacts_GetResult",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactRead"
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Contacts/GetResultEmpty": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "operationId": "Contacts_GetResultEmpty",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Contacts/GetResults": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "operationId": "Contacts_GetResults",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactRead"
              }
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Organizations": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create an organization",
        "description": "Creates new item in Organizations list and return it",
        "operationId": "Organizations_Create",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "organization",
            "description": "",
            "schema": {
              "$ref": "#/definitions/OrganizationWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/OrganizationRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organizations",
        "description": "Get organizations list",
        "operationId": "Organizations_GetAll",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          },
          {
            "in": "query",
            "name": "$filter",
            "description": "An ODATA $filter query option to restrict the entries returned",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$filter"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "description": "An ODATA $orderBy query option for specifying the order of entries.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$orderBy"
          },
          {
            "in": "query",
            "name": "$top",
            "description": "An ODATA $top query option to select the first n items of the return set for return (default = 50, maximum = 100).",
            "type": "integer",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$top"
          },
          {
            "in": "query",
            "name": "$skiptoken",
            "description": "An ODATA $skiptoken query option to skip over items until the specified item is reached and return the rest.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$skiptoken"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/OrganizationRead"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Organizations/{id}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get a single organization",
        "description": "Gets organization by Id and returns it",
        "operationId": "Organizations_GetById",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Organization Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Organization Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OrganizationRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update an organization",
        "description": "Gets an organization by Id and returns it.",
        "operationId": "Organizations_Update",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Organization Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Organization Id",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "organization",
            "description": "Organization model",
            "schema": {
              "$ref": "#/definitions/OrganizationWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OrganizationRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete an organization",
        "description": "Deletes organization by Id.",
        "operationId": "Organizations_Delete",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "Organization Id",
            "required": true,
            "type": "integer",
            "format": "int32",
            "x-ms-visibility": "important",
            "x-ms-summary": "Organization Id",
            "x-ms-url-encoding": "single"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Organizations/ByTitle/{title}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get a single organization by title",
        "description": "Gets an organization by title and returns it.",
        "operationId": "Organizations_GetByTitle",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "title",
            "description": "Organization title",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Organization title",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "query",
            "name": "$select",
            "description": "An ODATA $select query option to specify which fields to return for a list item. You can use * to return all available fields.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$select"
          },
          {
            "in": "query",
            "name": "$expand",
            "description": "An ODATA $expand query option to specify that the request returns the values of lookups.",
            "type": "string",
            "x-ms-visibility": "advanced",
            "x-ms-summary": "$expand"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OrganizationRead"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update an organization by title",
        "description": "Gets an organization by title and updates it. Returns updated organization.",
        "operationId": "Organizations_UpdateByTitle",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "title",
            "description": "Organization title",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Organization title",
            "x-ms-url-encoding": "single"
          },
          {
            "in": "body",
            "name": "organization",
            "description": "Organization model",
            "schema": {
              "$ref": "#/definitions/OrganizationWrite"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OrganizationRead"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete an organization by title",
        "description": "Deletes organization by title",
        "operationId": "Organizations_DeleteByTitle",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "title",
            "description": "Organization title",
            "required": true,
            "type": "string",
            "x-ms-visibility": "important",
            "x-ms-summary": "Organization title",
            "x-ms-url-encoding": "single"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      }
    },
    "/_flow/v4/Organizations/GetResult": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "operationId": "Organizations_GetResult",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OrganizationRead"
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Organizations/GetResultEmpty": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "operationId": "Organizations_GetResultEmpty",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/_flow/v4/Organizations/GetResults": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "operationId": "Organizations_GetResults",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "jobId",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/OrganizationRead"
              }
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {
              "Location": {
                "description": "Polling URL",
                "type": "string"
              },
              "Retry-After": {
                "description": "Polling interval in seconds",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    }
  },
  "definitions": {
    "Assignee": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Assignee ID"
        },
        "title": {
          "type": "string",
          "x-ms-summary": "Assignee Full Name"
        },
        "email": {
          "type": "string",
          "x-ms-summary": "Assignee Email"
        },
        "spUserId": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Assignee SPUserId"
        },
        "role": {
          "type": "string",
          "x-ms-summary": "Assignee Role"
        },
        "emailAlternate": {
          "type": "string",
          "x-ms-summary": "Assignee Alternate Email"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Assignee CustomFields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "Attachment": {
      "required": [
        "AttachmentContent",
        "Name"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string",
          "x-ms-summary": "Attachment File Name"
        },
        "AttachmentContent": {
          "format": "binary",
          "description": "File Content",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Cc": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Cc ID"
        },
        "title": {
          "type": "string",
          "x-ms-summary": "Cc Full Name"
        },
        "email": {
          "type": "string",
          "x-ms-summary": "Cc Email"
        },
        "spUserId": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Cc SPUserId"
        },
        "role": {
          "type": "string",
          "x-ms-summary": "Cc Role"
        },
        "emailAlternate": {
          "type": "string",
          "x-ms-summary": "Cc Alternate Email"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Cc CustomFields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "CommentRead": {
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "x-ms-summary": "Comment Body"
        },
        "created": {
          "format": "date-time",
          "type": "string",
          "x-ms-summary": "Comment Creation Date"
        },
        "fromEmail": {
          "type": "string",
          "x-ms-summary": "Comment Author Email"
        },
        "fromName": {
          "type": "string",
          "x-ms-summary": "Comment Author Name"
        },
        "messageId": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Comment MessageId"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Comment ID"
        },
        "ticketGuid": {
          "format": "uuid",
          "type": "string",
          "x-ms-summary": "Ticket Guid"
        },
        "isInitial": {
          "type": "boolean",
          "x-ms-summary": "Is initial"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Comment Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "CommentWrite": {
      "required": [
        "body",
        "fromEmail"
      ],
      "type": "object",
      "properties": {
        "rawHtml": {
          "type": "boolean",
          "x-ms-visibility": "important",
          "x-ms-summary": "Raw HTML",
          "description": "New lines are converted to <br> tag if false"
        },
        "body": {
          "minLength": 1,
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Comment Body"
        },
        "fromEmail": {
          "format": "email",
          "minLength": 1,
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Comment Author Email"
        },
        "messageId": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Comment MessageId"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          }
        },
        "supportChannel": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Comment SupportChannel"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Comment Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "ContactRead": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "x-ms-summary": "Contact Full Name"
        },
        "email": {
          "type": "string",
          "x-ms-summary": "Contact Email"
        },
        "spUserId": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Contact SPUserId"
        },
        "role": {
          "type": "string",
          "x-ms-summary": "Contact Role"
        },
        "emailAlternate": {
          "type": "string",
          "x-ms-summary": "Contact Alternate Email"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Contact ID"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Contact Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "ContactWrite": {
      "required": [
        "email",
        "title"
      ],
      "type": "object",
      "properties": {
        "title": {
          "minLength": 1,
          "type": "string",
          "x-ms-summary": "Contact Name"
        },
        "email": {
          "format": "email",
          "minLength": 1,
          "type": "string",
          "x-ms-summary": "Contact Email"
        },
        "spUserId": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Contact SPUserId"
        },
        "role": {
          "type": "string",
          "x-ms-summary": "Contact Role"
        },
        "emailAlternate": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Contact Alternate Email"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Contact Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "FileContent": {
      "type": "object",
      "properties": {
        "$content-type": {
          "type": "string"
        },
        "$content": {
          "format": "byte",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OrganizationRead": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "x-ms-summary": "Organization Title"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Organization ID"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Organization Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "OrganizationWrite": {
      "required": [
        "title"
      ],
      "type": "object",
      "properties": {
        "title": {
          "minLength": 1,
          "type": "string",
          "x-ms-summary": "Organization Title"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Organization Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "ProblemDetails": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "detail": {
          "type": "string"
        },
        "instance": {
          "type": "string"
        }
      },
      "additionalProperties": { }
    },
    "Requester": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Requester ID"
        },
        "title": {
          "type": "string",
          "x-ms-summary": "Requester Full Name"
        },
        "email": {
          "type": "string",
          "x-ms-summary": "Requester Email"
        },
        "spUserId": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Requester SPUserId"
        },
        "role": {
          "type": "string",
          "x-ms-summary": "Requester Role"
        },
        "emailAlternate": {
          "type": "string",
          "x-ms-summary": "Requester Alternate Email"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Requester CustomFields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "TagRead": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "x-ms-summary": "Tag Title"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Tag ID"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Tag Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "TicketCreate": {
      "required": [
        "body",
        "requesterEmail",
        "subject"
      ],
      "type": "object",
      "properties": {
        "assignedToEmail": {
          "type": "string",
          "x-ms-summary": "Ticket Assignee Email or SharePoint Group Name"
        },
        "status": {
          "type": "string",
          "x-ms-summary": "Ticket Status"
        },
        "category": {
          "type": "string",
          "x-ms-summary": "Ticket Category"
        },
        "priority": {
          "type": "string",
          "x-ms-summary": "Ticket Priority"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string",
          "x-ms-summary": "Ticket DueDate"
        },
        "ccEmails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-ms-summary": "Ticket Cc Emails"
        },
        "tagTitles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-ms-summary": "Ticket Tags Titles"
        },
        "supportChannel": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Ticket SupportChannel"
        },
        "firstComment": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Ticket FirstComment"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "x-ms-summary": "Ticket Attachments"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Ticket Custom Fields",
          "description": "JSON string containing custom field values"
        },
        "subject": {
          "minLength": 1,
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Ticket Subject"
        },
        "rawHtml": {
          "type": "boolean",
          "x-ms-visibility": "important",
          "x-ms-summary": "Raw HTML",
          "description": "New lines are converted to <br> tag if false"
        },
        "body": {
          "minLength": 1,
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Ticket Body"
        },
        "requesterEmail": {
          "format": "email",
          "minLength": 1,
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Ticket Requester Email"
        }
      },
      "additionalProperties": false
    },
    "TicketRead": {
      "type": "object",
      "properties": {
        "ticketID": {
          "type": "string",
          "x-ms-summary": "Custom Ticket ID"
        },
        "subject": {
          "type": "string",
          "x-ms-summary": "Ticket Subject"
        },
        "requester": {
          "$ref": "#/definitions/Requester"
        },
        "assignedTo": {
          "$ref": "#/definitions/Assignee"
        },
        "status": {
          "type": "string",
          "x-ms-summary": "Ticket Status"
        },
        "category": {
          "type": "string",
          "x-ms-summary": "Ticket Category"
        },
        "priority": {
          "type": "string",
          "x-ms-summary": "Ticket Priority"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string",
          "x-ms-summary": "Ticket Due Date"
        },
        "created": {
          "format": "date-time",
          "type": "string",
          "x-ms-summary": "Ticket Creation Date"
        },
        "resolutionDate": {
          "format": "date-time",
          "type": "string",
          "x-ms-summary": "Ticket Resolution Date"
        },
        "cc": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Cc"
          },
          "x-ms-summary": "Ticket Cc"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TagRead"
          },
          "x-ms-summary": "Ticket Tags"
        },
        "attachments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-ms-summary": "Ticket Attachments"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "x-ms-summary": "Ticket ID"
        },
        "ticketGuid": {
          "format": "uuid",
          "type": "string",
          "x-ms-summary": "Ticket Guid"
        },
        "firstComment": {
          "type": "string",
          "x-ms-summary": "First Comment"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Ticket Custom Fields",
          "description": "JSON string containing custom field values"
        }
      },
      "additionalProperties": false
    },
    "TicketUpdate": {
      "type": "object",
      "properties": {
        "assignedToEmail": {
          "type": "string",
          "x-ms-summary": "Ticket Assignee Email or SharePoint Group Name"
        },
        "status": {
          "type": "string",
          "x-ms-summary": "Ticket Status"
        },
        "category": {
          "type": "string",
          "x-ms-summary": "Ticket Category"
        },
        "priority": {
          "type": "string",
          "x-ms-summary": "Ticket Priority"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string",
          "x-ms-summary": "Ticket DueDate"
        },
        "ccEmails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-ms-summary": "Ticket Cc Emails"
        },
        "tagTitles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-ms-summary": "Ticket Tags Titles"
        },
        "supportChannel": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Ticket SupportChannel"
        },
        "firstComment": {
          "type": "string",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Ticket FirstComment"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "x-ms-summary": "Ticket Attachments"
        },
        "customFields": {
          "type": "object",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Ticket Custom Fields",
          "description": "JSON string containing custom field values"
        },
        "subject": {
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Ticket Subject"
        },
        "rawHtml": {
          "type": "boolean",
          "x-ms-visibility": "advanced",
          "x-ms-summary": "Raw HTML",
          "description": "New lines are converted to <br> tag if false"
        },
        "body": {
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Ticket Body"
        },
        "requesterEmail": {
          "format": "email",
          "type": "string",
          "x-ms-visibility": "important",
          "x-ms-summary": "Ticket Requester Email"
        }
      },
      "additionalProperties": false
    }
  },
  "securityDefinitions": {
    "apiKey": {
      "type": "apiKey",
      "name": "X-HD-ApiKey",
      "in": "header",
      "description": "API Key generated by HelpDesk"
    }
  },
  "security": [
    {
      "apiKey": [ ]
    }
  ]
}