{
  "openapi": "3.1.0",
  "info": {
    "title": "Resilio Active Everywhere API",
    "version": "2.0.0",
    "description": "Machine-readable OpenAPI specification generated from the Resilio Active Everywhere apidoc source used by the public API documentation page.",
    "termsOfService": "https://www.resilio.com/legal/terms-of-use/"
  },
  "externalDocs": {
    "description": "Human-readable Resilio Active Everywhere API documentation",
    "url": "https://www.resilio.com/active-everywhere/api/"
  },
  "servers": [
    {
      "url": "https://{server}:{port}/api/v2",
      "description": "Resilio Management Console API server. Replace server and port with your Management Console host and HTTPS port.",
      "variables": {
        "server": {
          "default": "localhost",
          "description": "Management Console host name or IP address"
        },
        "port": {
          "default": "8446",
          "description": "Management Console HTTPS port. Port 8446 is used for scalable API on new installations of Management Console v3.8.0 and newer."
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Abort job run errors"
    },
    {
      "name": "AdvancedSettings"
    },
    {
      "name": "Agents"
    },
    {
      "name": "API tokens"
    },
    {
      "name": "AzureAD"
    },
    {
      "name": "Backup"
    },
    {
      "name": "Common"
    },
    {
      "name": "Diagnostic"
    },
    {
      "name": "File query"
    },
    {
      "name": "File query by Job run"
    },
    {
      "name": "FilePolicies"
    },
    {
      "name": "Groups"
    },
    {
      "name": "Jobs"
    },
    {
      "name": "LDAP"
    },
    {
      "name": "Notifications"
    },
    {
      "name": "OAuth2"
    },
    {
      "name": "Okta"
    },
    {
      "name": "Pending Agents"
    },
    {
      "name": "Profiles"
    },
    {
      "name": "Removed Agents"
    },
    {
      "name": "Reporting"
    },
    {
      "name": "Reports building"
    },
    {
      "name": "Runs"
    },
    {
      "name": "Schedules"
    },
    {
      "name": "SMTP"
    },
    {
      "name": "Storages"
    },
    {
      "name": "Support"
    },
    {
      "name": "Trackers"
    },
    {
      "name": "Users"
    },
    {
      "name": "Webhooks"
    },
    {
      "name": "WebhooksAPI"
    }
  ],
  "security": [
    {
      "tokenAuth": []
    }
  ],
  "paths": {
    "/apiTokens": {
      "post": {
        "tags": [
          "API tokens"
        ],
        "summary": "Create API token",
        "operationId": "CreateAPIToken",
        "description": "Create new API token.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "API token id"
                    },
                    "description": {
                      "type": "string",
                      "description": "API token description"
                    },
                    "user_id": {
                      "type": "number",
                      "description": "API token is used by user id"
                    },
                    "token": {
                      "type": "string",
                      "description": "API token"
                    }
                  },
                  "required": [
                    "id",
                    "description",
                    "user_id",
                    "token"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "description": "New API token",
                      "token": "L3U5TKM5V5L3U5TKM5V5L3U5TKM5V5L3U5TKM5V5L3U5TKM5V5",
                      "user_id": 1
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "API token description"
                  },
                  "user_id": {
                    "type": "number",
                    "description": "API token is used by user id"
                  }
                },
                "required": [
                  "description",
                  "user_id"
                ]
              },
              "examples": {
                "create_api_token_example": {
                  "summary": "Create API token example:",
                  "value": {
                    "description": "New API token",
                    "user_id": 4
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateAPIToken",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "API tokens"
        ],
        "summary": "Get all API tokens",
        "operationId": "GetAPITokens",
        "description": "Returns all API tokens in array. See get API token for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetAPITokens",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/apiTokens/login": {
      "post": {
        "tags": [
          "API tokens"
        ],
        "summary": "Create API token for ldap user",
        "operationId": "CreateLdapAPIToken",
        "description": "Create new API token for ldap user.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "API token id"
                    },
                    "description": {
                      "type": "string",
                      "description": "API token description"
                    },
                    "user_id": {
                      "type": "number",
                      "description": "API token is used by user id"
                    },
                    "token": {
                      "type": "string",
                      "description": "API token"
                    },
                    "expire_at": {
                      "type": "number",
                      "description": "API token expiration time (in seconds)"
                    }
                  },
                  "required": [
                    "id",
                    "description",
                    "user_id",
                    "token",
                    "expire_at"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "description": "API token description",
                      "token": "L3U5TKM5V5L3U5TKM5V5L3U5TKM5V5L3U5TKM5V5L3U5TKM5V5",
                      "user_id": 1,
                      "expire_at": 1654866118
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "login": {
                    "type": "string",
                    "description": "User login"
                  },
                  "password": {
                    "type": "string",
                    "description": "User password"
                  }
                },
                "required": [
                  "login",
                  "password"
                ]
              },
              "examples": {
                "create_api_token_example": {
                  "summary": "Create API token example:",
                  "value": {
                    "login": "ORG\\ConnectAdmmin",
                    "password": "password"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateLdapAPIToken",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/apiTokens/{id}": {
      "delete": {
        "tags": [
          "API tokens"
        ],
        "summary": "Delete API token",
        "operationId": "DeleteAPIToken",
        "description": "Delete API token.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "API token id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteAPIToken",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "API tokens"
        ],
        "summary": "Get API token by id",
        "operationId": "GetAPIToken",
        "description": "Returns API token info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "API token id"
                    },
                    "user_id": {
                      "type": "number",
                      "description": "API token is used by user id"
                    },
                    "token": {
                      "type": "string",
                      "description": "Obscured token"
                    },
                    "description": {
                      "type": "string",
                      "description": "Token description"
                    },
                    "expire_at": {
                      "type": "number",
                      "description": "Token expiration time"
                    }
                  },
                  "required": [
                    "id",
                    "user_id",
                    "token",
                    "description"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "token": "L3U5TKM5V5******************************************",
                      "description": "Token",
                      "user_id": 1
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "API token id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetAPIToken",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/abort_job_run_errors": {
      "post": {
        "tags": [
          "Abort job run errors"
        ],
        "summary": "Add abort job run error",
        "operationId": "AddAbortJobRunError",
        "description": "Add abort job run error",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Abort job run error code. Error can be added either in abort job run errors list or in ignored errors list (except CE_AGENT_OFFLINE). Check error codes here"
                  },
                  "agents": {
                    "type": "number",
                    "description": "Agents ids. The job runs will be aborted for the selected Agents"
                  },
                  "jobs": {
                    "type": "number",
                    "description": "Jobs ids. The job runs will be aborted for all the Agents for the selected Jobs"
                  },
                  "apply_to_new_jobs": {
                    "type": "boolean",
                    "description": "Abort job run for all Agents in new Jobs. False by default."
                  },
                  "apply_to_new_agents": {
                    "type": "boolean",
                    "description": "Abort job run for all new Agents. False by default."
                  }
                },
                "required": [
                  "code"
                ]
              },
              "examples": {
                "request_example": {
                  "summary": "Request example:",
                  "value": {
                    "agents": [
                      1
                    ],
                    "code": "SE_PRE_COMMAND_FAILED",
                    "jobs": [
                      1
                    ],
                    "apply_to_new_jobs": true
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "AddAbortJobRunError",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Abort job run errors"
        ],
        "summary": "Get all abort job run errors",
        "operationId": "GetAbortJobRunErrors",
        "description": "Returns all abort job run errors in array. See get abort job run error for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetAbortJobRunErrors",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/abort_job_run_errors/{code}": {
      "delete": {
        "tags": [
          "Abort job run errors"
        ],
        "summary": "Delete abort job run error",
        "operationId": "DeleteAbortJobRunError",
        "description": "Delete abort job run error",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Abort job run error code. Check error codes here",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "DeleteAbortJobRunError",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Abort job run errors"
        ],
        "summary": "Get abort job run error by code",
        "operationId": "GetAbortJobRunError",
        "description": "Returns abort job run error info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Abort job run error code. Check error codes here"
                    },
                    "agents_exceptions": {
                      "type": "number",
                      "description": "Agents exceptions (ids). Deprecated since 3.5.0, empty array will be returned."
                    },
                    "jobs_exceptions": {
                      "type": "number",
                      "description": "Jobs exceptions (ids). Deprecated since 3.5.0, empty array will be returned."
                    },
                    "agents": {
                      "type": "number",
                      "description": "Agents ids. The job runs will be aborted for the selected Agents"
                    },
                    "jobs": {
                      "type": "number",
                      "description": "Jobs ids. The job runs will be aborted for all the Agents for the selected Jobs"
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Created at (timestamp in seconds)"
                    },
                    "updated_at": {
                      "type": "number",
                      "description": "Updated at (timestamp in seconds)"
                    },
                    "apply_to_new_jobs": {
                      "type": "boolean",
                      "description": "Abort job run for all Agents in new Jobs"
                    },
                    "apply_to_new_agents": {
                      "type": "boolean",
                      "description": "Abort job run for all new Agents"
                    }
                  },
                  "required": [
                    "code",
                    "agents_exceptions",
                    "jobs_exceptions",
                    "agents",
                    "jobs",
                    "created_at",
                    "updated_at",
                    "apply_to_new_jobs",
                    "apply_to_new_agents"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "agents": [
                        1
                      ],
                      "agents_exceptions": [],
                      "code": "SE_PRE_COMMAND_FAILED",
                      "created_at": 1656419784,
                      "jobs": [
                        1
                      ],
                      "jobs_exceptions": [],
                      "updated_at": 1656419784,
                      "apply_to_new_jobs": false,
                      "apply_to_new_agents": true
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Abort job run error code. Check error codes here",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "GetAbortJobRunError",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Abort job run errors"
        ],
        "summary": "Update abort job run error",
        "operationId": "UpdateAbortJobRunError",
        "description": "Update abort job run error",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Abort job run error code. Check error codes here",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agents": {
                    "type": "number",
                    "description": "Agents ids. The job runs will be aborted for the selected Agents"
                  },
                  "jobs": {
                    "type": "number",
                    "description": "Jobs ids. The job runs will be aborted for all the Agents for the selected Jobs"
                  },
                  "apply_to_new_jobs": {
                    "type": "boolean",
                    "description": "Abort job run for all Agents in new Jobs"
                  },
                  "apply_to_new_agents": {
                    "type": "boolean",
                    "description": "Abort job run for all new Agents"
                  }
                }
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "agents": [
                      2
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateAbortJobRunError",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/advanced_settings": {
      "get": {
        "tags": [
          "AdvancedSettings"
        ],
        "summary": "Get advanced settings",
        "operationId": "GetAdvancedSettings",
        "description": "Returns advanced settings.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Advanced configuration settings. \nFor optional fields, only includes values explicitly set by the user. \nMay include additional custom parameters not listed here."
                    },
                    "settings.server_origin": {
                      "type": "string",
                      "description": "Management Console address."
                    },
                    "settings.file_query_timeout": {
                      "type": "number",
                      "description": "File query timeout in seconds. \nSpecifies how long the File query functionality waits before timing out."
                    },
                    "settings.history_ttl": {
                      "type": "number",
                      "description": "Job run time to live in milliseconds. \nDetermines how long finished Job runs are stored. \nDefault is 14 days. Set to 0 to retain runs indefinitely."
                    },
                    "settings.jobs_ttl": {
                      "type": "number",
                      "description": "Job time to live in milliseconds. \nSpecifies how long Jobs are stored. \nSet to 0 to retain jobs indefinitely."
                    },
                    "settings.identify_agent_by_name": {
                      "type": "boolean",
                      "description": "Identify agent by name. If true, agents will be identified by their names instead of peer_id device IDs."
                    },
                    "settings.ata_token_lifetime": {
                      "type": "number",
                      "description": "Agent-to-agent token lifetime in seconds. \nDefines how long the encryption token between agents remains valid."
                    },
                    "settings.ata_token_overlap": {
                      "type": "number",
                      "description": "Agent-to-agent token overlap period in seconds. \nSpecifies how long both the current and new tokens remain valid during a rollover."
                    },
                    "settings.trusted_ca": {
                      "type": "string",
                      "description": "Trusted Certificate Authorities. \nList of trusted certificate authorities in PEM format for external connections such as SMTP, LDAP, webhooks. \nSeparate multiple certificates with a newline character."
                    },
                    "settings.user_session_idle_timeout": {
                      "type": "number",
                      "description": "User session idle timeout (in minutes). \nSession expires after this duration of inactivity."
                    },
                    "settings.ui_sleep_timeout": {
                      "type": "number",
                      "description": "UI sleep timeout in milliseconds. \nDefines how long the UI remains idle before unloading."
                    },
                    "settings.send_mail_timeout": {
                      "type": "number",
                      "description": "Send email timeout in milliseconds. \nDefines how long the system waits for an email to be sent before timing out."
                    },
                    "settings.send_webhook_timeout": {
                      "type": "number",
                      "description": "Webhook send timeout in milliseconds. \nDefines how long the system waits for a webhook to be sent before timing out."
                    },
                    "settings.search_history": {
                      "type": "boolean",
                      "description": "Table search history. \nIf enabled, preserves search queries, sorting, filtering and page size for UI tables."
                    },
                    "settings.default_logger_level": {
                      "type": "string",
                      "description": "Default log level. \nDefines the minimum severity level of logs to retain. \nNote: Setting a level lower than error may impact performance on larger setups."
                    },
                    "updated_at": {
                      "type": "number",
                      "description": "Updated at (seconds)"
                    },
                    "updated_by": {
                      "type": "string",
                      "description": "Name of the user who updated advanced settings the last time"
                    }
                  },
                  "required": [
                    "settings",
                    "updated_at",
                    "updated_by"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "updated_at": 1759739281,
                      "updated_by": "user1",
                      "settings": {
                        "history_ttl": 1000000000,
                        "jobs_ttl": 1000000000,
                        "identify_agent_by_name": true,
                        "default_logger_level": "debug",
                        "trusted_ca": "-----BEGIN CERTIFICATE-----\nMIIDfzCCAmegAwIBAgIUfN+a7l5OZB6RfGeW2w1jw2d2nOgwDQYJKoZIhvcNAQEL\nBQAwUjELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMRAwDgYDVQQHDAdO\nZXcgWW9yazEPMA0GA1UECgwGQ2hhdEdQVDENMAsGA1UEAwwEQ0EgMTAeFw0yNTEw\nMDYxMjAwMDBaFw0zNTEwMDMxMjAwMDBaMFIxCzAJBgNVBAYTAlVTMREwDwYDVQQI\nDAhOZXcgWW9yazEQMA4GA1UEBwwHTmV3IFlvcmsxDzANBgNVBAoMBkNoYXRHUFQx\nDTALBgNVBAMMBENBIDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7\n0sHzTIzXVa0E8T9nnDZkxE+CQ6WB1MdKjR2AYKFd4hR9w9rftbdHAT0KYUNR6p3D\n+I6g6Gp6vQL8zQNOCL+1iE4mCyGuvovLMj9qNU+AHQZJ7R3Dn2kOXugPsHXYozUO\njKFLWGu8i+kLuEkCUv+ulDgsvFeWoOq+nA99bMMRZq91GpeB1A4myJzYzxt0B0N0\nt3q6q4xzOrmoWVpMrQHy2R8WbRcYVLk0gMr8uBynZc4kkVoC9oU3zrFeNSZuQ+06\nVExKtyuDsUR1zRz6ULYOzvqrxDNvGqk02YmWTFABlUmDdnQoYaZrMP+odYJrci+5\nEhMfEDdkbtt6J7ZoqPFXAgMBAAGjUzBRMB0GA1UdDgQWBBShKrRxZss9BaPb8r2h\nf3IsQaetLTAfBgNVHSMEGDAWgBShKrRxZss9BaPb8r2hf3IsQaetLTAPBgNVHRMB\nAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQC4CWboQEYp/Ut97GEhLB1rU5DA\ndAzex2Sk2+PRol2VrfFzD5bdK8G+b3K/Vp3GsOYXioUtFgBFFX1IxBbceoEF1PX5\nMN7jkUkTYM4X3Ixzj9jZUF4zgdRMclZ/UmtYrbDkprYGQYfHw0zB26X/D5V29wXj\nvFAGc4mG9LLdZJDhaEQ1yzqvZ1K+GnlMXtu+owQ2KIDo9WQuo2OX0iq+On1qZz6I\nC2IUPnGmDAp/VaO0+2rRe7k3iGsn2Dyv09cKRZx+0t8jl1nA9C1A3sAmwfbGEU5Z\nM4tH1F3oGZPo3L8nCHLtzmY0jOiXbdXs3duok5z59BsyXgSihGnUwyo+nRT1\n-----END CERTIFICATE-----",
                        "server_origin": "192.168.0.15",
                        "ata_token_lifetime": 72000,
                        "ata_token_overlap": 36000,
                        "file_query_timeout": 2000,
                        "user_session_idle_timeout": 60
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetAdvancedSettings",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "AdvancedSettings"
        ],
        "summary": "Update advanced settings",
        "operationId": "UpdateAdvancedSettings",
        "description": "Update advanced settings.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Advanced configuration settings."
                  },
                  "settings.server_origin": {
                    "type": "string",
                    "description": "Management Console address."
                  },
                  "settings.file_query_timeout": {
                    "type": "number",
                    "description": "File query timeout in seconds. \nSpecifies how long the File query functionality waits before timing out."
                  },
                  "settings.history_ttl": {
                    "type": "number",
                    "description": "Job run time to live in milliseconds. \nDetermines how long finished Job runs are stored. \nDefault is 14 days. Set to 0 to retain runs indefinitely."
                  },
                  "settings.jobs_ttl": {
                    "type": "number",
                    "description": "Job time to live in milliseconds. \nSpecifies how long Jobs are stored. \nSet to 0 to retain jobs indefinitely."
                  },
                  "settings.identify_agent_by_name": {
                    "type": "boolean",
                    "description": "Identify agent by name. If true, agents will be identified by their names instead of peer_id device IDs."
                  },
                  "settings.ata_token_lifetime": {
                    "type": "number",
                    "description": "Agent-to-agent token lifetime in seconds. \nDefines how long the encryption token between agents remains valid."
                  },
                  "settings.ata_token_overlap": {
                    "type": "number",
                    "description": "Agent-to-agent token overlap period in seconds. \nSpecifies how long both the current and new tokens remain valid during a rollover."
                  },
                  "settings.trusted_ca": {
                    "type": "string",
                    "description": "Trusted Certificate Authorities. \nList of trusted certificate authorities in PEM format for external connections such as SMTP, LDAP, webhooks. \nSeparate multiple certificates with a newline character."
                  },
                  "settings.user_session_idle_timeout": {
                    "type": "number",
                    "description": "User session idle timeout (in minutes). \nSession expires after this duration of inactivity."
                  },
                  "settings.ui_sleep_timeout": {
                    "type": "number",
                    "description": "UI sleep timeout in milliseconds. \nDefines how long the UI remains idle before unloading."
                  },
                  "settings.send_mail_timeout": {
                    "type": "number",
                    "description": "Send email timeout in milliseconds. \nDefines how long the system waits for an email to be sent before timing out."
                  },
                  "settings.send_webhook_timeout": {
                    "type": "number",
                    "description": "Webhook send timeout in milliseconds. \nDefines how long the system waits for a webhook to be sent before timing out."
                  },
                  "settings.search_history": {
                    "type": "boolean",
                    "description": "Table search history. \nIf enabled, preserves search queries, sorting, filtering and page size for UI tables."
                  },
                  "settings.default_logger_level": {
                    "type": "string",
                    "description": "Default log level. \nDefines the minimum severity level of logs to retain. \nNote: Setting a level lower than error may impact performance on larger setups."
                  }
                },
                "required": [
                  "settings"
                ]
              },
              "examples": {
                "request_for_settings_update_example": {
                  "summary": "Request for settings update example:",
                  "value": {
                    "settings": {
                      "history_ttl": 1000000000,
                      "jobs_ttl": 1000000000,
                      "identify_agent_by_name": true,
                      "default_logger_level": "info",
                      "trusted_ca": "-----BEGIN CERTIFICATE-----\nMIIDfzCCAmegAwIBAgIUfN+a7l5OZB6RfGeW2w1jw2d2nOgwDQYJKoZIhvcNAQEL\nBQAwUjELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMRAwDgYDVQQHDAdO\nZXcgWW9yazEPMA0GA1UECgwGQ2hhdEdQVDENMAsGA1UEAwwEQ0EgMTAeFw0yNTEw\nMDYxMjAwMDBaFw0zNTEwMDMxMjAwMDBaMFIxCzAJBgNVBAYTAlVTMREwDwYDVQQI\nDAhOZXcgWW9yazEQMA4GA1UEBwwHTmV3IFlvcmsxDzANBgNVBAoMBkNoYXRHUFQx\nDTALBgNVBAMMBENBIDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7\n0sHzTIzXVa0E8T9nnDZkxE+CQ6WB1MdKjR2AYKFd4hR9w9rftbdHAT0KYUNR6p3D\n+I6g6Gp6vQL8zQNOCL+1iE4mCyGuvovLMj9qNU+AHQZJ7R3Dn2kOXugPsHXYozUO\njKFLWGu8i+kLuEkCUv+ulDgsvFeWoOq+nA99bMMRZq91GpeB1A4myJzYzxt0B0N0\nt3q6q4xzOrmoWVpMrQHy2R8WbRcYVLk0gMr8uBynZc4kkVoC9oU3zrFeNSZuQ+06\nVExKtyuDsUR1zRz6ULYOzvqrxDNvGqk02YmWTFABlUmDdnQoYaZrMP+odYJrci+5\nEhMfEDdkbtt6J7ZoqPFXAgMBAAGjUzBRMB0GA1UdDgQWBBShKrRxZss9BaPb8r2h\nf3IsQaetLTAfBgNVHSMEGDAWgBShKrRxZss9BaPb8r2hf3IsQaetLTAPBgNVHRMB\nAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQC4CWboQEYp/Ut97GEhLB1rU5DA\ndAzex2Sk2+PRol2VrfFzD5bdK8G+b3K/Vp3GsOYXioUtFgBFFX1IxBbceoEF1PX5\nMN7jkUkTYM4X3Ixzj9jZUF4zgdRMclZ/UmtYrbDkprYGQYfHw0zB26X/D5V29wXj\nvFAGc4mG9LLdZJDhaEQ1yzqvZ1K+GnlMXtu+owQ2KIDo9WQuo2OX0iq+On1qZz6I\nC2IUPnGmDAp/VaO0+2rRe7k3iGsn2Dyv09cKRZx+0t8jl1nA9C1A3sAmwfbGEU5Z\nM4tH1F3oGZPo3L8nCHLtzmY0jOiXbdXs3duok5z59BsyXgSihGnUwyo+nRT1\n-----END CERTIFICATE-----",
                      "server_origin": "192.168.0.15",
                      "ata_token_lifetime": 72000,
                      "ata_token_overlap": 36000,
                      "file_query_timeout": 1900,
                      "ui_sleep_timeout": 45000,
                      "search_history": false,
                      "user_session_idle_timeout": 1440
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateAdvancedSettings",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/fs/createfolder": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Creates a folder on Agent",
        "operationId": "AgentCreateFolder",
        "description": "Creates a folder on Agent's filesystem or bucket/share/container in object storage.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Path to folder or name of bucket/share/container"
                  },
                  "storageId": {
                    "type": "number",
                    "description": "Storage id. Storage configuration must have empty bucket/share/container\n\nPlease set the maximum request timeout (more than 30 sec) because the request may take a long time."
                  }
                },
                "required": [
                  "path"
                ]
              },
              "examples": {
                "folder_creation_example": {
                  "summary": "Folder creation example:",
                  "value": {
                    "path": "D:\\test"
                  }
                },
                "bucket_creation_example": {
                  "summary": "Bucket creation example:",
                  "value": {
                    "path": "/bucket",
                    "storageId": 1
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "AgentCreateFolder",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/fs/entrieslist": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agent folders or files by path",
        "operationId": "AgentFSEntriesList",
        "description": "Returns the list of files/folders on the Agent's file system, Storage connector or network share.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "examples": {
                  "response_example_folders_returned": {
                    "summary": "Response example (folders returned):",
                    "value": {
                      "continuationToken": "some_token",
                      "folders": [
                        "test",
                        "d2",
                        "d3"
                      ],
                      "path": "\\\\?\\D:\\test\\"
                    }
                  },
                  "response_example_files_returned": {
                    "summary": "Response example (files returned):",
                    "value": {
                      "continuationToken": "some_token",
                      "files": [
                        "test.txt",
                        "d2.ext",
                        "d3.tmp"
                      ],
                      "path": "\\\\?\\D:\\test\\"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "entry",
            "in": "query",
            "required": false,
            "description": "FS entry type",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "query",
            "required": false,
            "description": "Agent OS specific path to folder location. \nIt may be empty. The result will be a list of disks for Windows or partitions for Linux/MacOs in this case",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storageId",
            "in": "query",
            "required": false,
            "description": "Object storage id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "continuationToken",
            "in": "query",
            "required": false,
            "description": "Token to request next set of folders/files. Only 5 tokens are stored per Agent.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxEntries",
            "in": "query",
            "required": false,
            "description": "Page size. 1000 entries by default. Maximum possible value is 1000",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "AgentFSEntriesList",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/fs/folderslist": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agent folders by path",
        "operationId": "AgentFoldersList",
        "description": "Returns the list of folders on the Agent's file system or Storage connector.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "folders": [
                        "test",
                        "d2",
                        "d3"
                      ],
                      "path": "\\\\?\\D:\\test\\"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "path",
            "in": "query",
            "required": false,
            "description": "Agent OS specific path to folder location. \nIt may be empty. The result will be a list of disks for Windows or partitions for Linux/MacOs in this case",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storageId",
            "in": "query",
            "required": false,
            "description": "Object storage id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "continuationToken",
            "in": "query",
            "required": false,
            "description": "Token to request next set of folders. Only for object storage",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minEntries",
            "in": "query",
            "required": false,
            "description": "Minimum entries count. Only for object storage",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "maxEntries",
            "in": "query",
            "required": false,
            "description": "Maximum entries count. Only for a local filesystem. By default, all folders are returned",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "AgentFoldersList",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/jobs_priority": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get custom jobs priority",
        "operationId": "AgentJobPriority",
        "description": "Custom jobs priority on the Agent. Dictionary key is a job id. If a job is not mentioned in the dictionary the priority from the job settings is applied.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example",
                    "value": {
                      "1": 5
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "AgentJobPriority",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Agents"
        ],
        "summary": "Set custom jobs priority",
        "operationId": "SetAgentJobPriority",
        "description": "Set custom jobs priority on the Agent. Dictionary key is a job id. If a job is not mentioned in the dictionary the priority from the job settings is applied. A priority should be a number in range [0, 10].",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "1": 7
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "SetAgentJobPriority",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/runs/{job_run_id}": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agent job run",
        "operationId": "AgentRun",
        "description": "Returns job run status for particular Agent.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "active": {
                      "type": "boolean",
                      "description": "Determines whether the job run is completed or not"
                    },
                    "agent_archive_size": {
                      "type": "number",
                      "description": "Archive size managed by Agent (bytes). Is equal to 0 for followers. Is available for Agents of version 3.5.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "agent_archive_files": {
                      "type": "number",
                      "description": "Archive managed by Agent (files). Is equal to 0 for followers. Is available for Agents of version 4.0.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "data_transferred_down": {
                      "type": "number",
                      "description": "Pure data downloaded (bytes). Is equal to 0 for followers. Except for jobs: script"
                    },
                    "data_transferred_up": {
                      "type": "number",
                      "description": "Pure data uploaded (bytes). Is equal to 0 for followers. Except for jobs: script"
                    },
                    "deduplication_speed": {
                      "type": "number",
                      "description": "Deduplication speed. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "down_data_speed": {
                      "type": "number",
                      "description": "Agent pure data download speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "down_files_per_second": {
                      "type": "number",
                      "description": "Download files speed. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "down_speed": {
                      "type": "number",
                      "description": "Agent download speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "download_bytes_percent": {
                      "type": "number",
                      "description": "Download bytes percent. Is equal to 100% for followers. Except for jobs: script"
                    },
                    "download_files_percent": {
                      "type": "number",
                      "description": "Download files percent. Is equal to 100% for followers. Except for jobs: script"
                    },
                    "duration": {
                      "type": "number",
                      "description": "Agent duration for job run. Is equal to 0 for followers. \nExcept for jobs: sync, caching_gateway, hybrid_work"
                    },
                    "errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of errors"
                    },
                    "errors.code": {
                      "type": "number",
                      "description": "Error code (deprecated since 2.9.1)"
                    },
                    "errors.code_str": {
                      "type": "string",
                      "description": "Error string code"
                    },
                    "errors.message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "errors.folderid": {
                      "type": "number",
                      "description": "Transfer id"
                    },
                    "eta": {
                      "type": "number",
                      "description": "Estimated time for Agent to complete download (in seconds). Is equal to 0 for followers. Except for jobs: script"
                    },
                    "files_completed": {
                      "type": "number",
                      "description": "Number of completed files. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "files_selected": {
                      "type": "number",
                      "description": "Number of files selected for download. Is equal to 0 for followers. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "files_total": {
                      "type": "number",
                      "description": "Number of files for the job. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "Agent finish time for job run (in seconds). Is equal to 0 for followers. \nExcept for jobs: sync, caching_gateway, hybrid_work"
                    },
                    "hashed_files_speed": {
                      "type": "number",
                      "description": "Agent hashing speed in files per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "hashed_speed": {
                      "type": "number",
                      "description": "Agent hashing speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "initial_syncing": {
                      "type": "string",
                      "description": "Initial syncing state. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "is_reference": {
                      "type": "boolean",
                      "description": "Is Agent Reference. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "job_id": {
                      "type": "number",
                      "description": "Job id"
                    },
                    "job_name": {
                      "type": "string",
                      "description": "Job name"
                    },
                    "job_run_id": {
                      "type": "number",
                      "description": "Job run id"
                    },
                    "last_seen": {
                      "type": "number",
                      "description": "Offline Agent last seen time for job run (0 for online Agent)."
                    },
                    "last_synced": {
                      "type": "number",
                      "description": "Agent last synced time (in seconds). Is equal to 0 for followers. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "max_down_files_per_second": {
                      "type": "number",
                      "description": "Agent maximum download speed in files per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "max_down_speed": {
                      "type": "number",
                      "description": "Agent maximum download speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "max_up_speed": {
                      "type": "number",
                      "description": "Agent maximum upload speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "peers_count": {
                      "type": "number",
                      "description": "Number of connected peers. Except for jobs: script"
                    },
                    "peers_count_proxied": {
                      "type": "number",
                      "description": "Number of connected proxied peers. Except for jobs: script"
                    },
                    "permission": {
                      "type": "string",
                      "description": "Agent permissions for the job"
                    },
                    "run_id": {
                      "type": "number",
                      "description": "Job run in within job"
                    },
                    "cluster_name": {
                      "type": "string",
                      "description": "Cluster group name. Will be returned in case Agent is in High Availability or Gateway Scaleout group. Except for jobs: script"
                    },
                    "cluster_type": {
                      "type": "string",
                      "description": "Cluster group type. Will be returned in case Agent is in High Availability or Gateway Scaleout group. Except for jobs: script"
                    },
                    "role_in_cluster": {
                      "type": "string",
                      "description": "Role in group. \"Follower\" and \"leader\" are in High Availability groups only. Except for jobs: script"
                    },
                    "scanned_files_speed": {
                      "type": "number",
                      "description": "Agent scanned speed in files per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "size_deduplicated": {
                      "type": "number",
                      "description": "Deduplicated bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "size_completed": {
                      "type": "number",
                      "description": "Completed files size in bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "size_selected": {
                      "type": "number",
                      "description": "Size of selected files in bytes. Is equal to 0 for followers. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "size_total": {
                      "type": "number",
                      "description": "Agent's files size in bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "start_time": {
                      "type": "number",
                      "description": "Agent start time for job run (in seconds). \nExcept for jobs: sync, caching_gateway, hybrid_work"
                    },
                    "status": {
                      "type": "string",
                      "description": "Job run Agent status"
                    },
                    "total_archive_size": {
                      "type": "number",
                      "description": "Archive size (bytes). Is equal to 0 for followers. Is available for Agents of version 3.5.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "total_archive_files": {
                      "type": "number",
                      "description": "Archive (files). Is equal to 0 for followers. Is available for Agents of version 4.0.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "traffic_optimization_in_bytes": {
                      "type": "number",
                      "description": "Agent written data/received over network in bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "transferred_down": {
                      "type": "number",
                      "description": "Amount of bytes downloaded by the Agent. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "transferred_files_down": {
                      "type": "number",
                      "description": "Amount of files downloaded by the Agent. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "transferred_up": {
                      "type": "number",
                      "description": "Amount of bytes uploaded by the Agent. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "up_data_speed": {
                      "type": "number",
                      "description": "Agent pure data upload speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "up_speed": {
                      "type": "number",
                      "description": "Agent upload speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "event_logs_complete": {
                      "type": "boolean",
                      "description": "A property indicates that all event have been delivered. Applicable only to finished job runs except for Sync Job"
                    },
                    "driver_status": {
                      "type": "string",
                      "description": "Current status of the driver. Present only if installed agent supports driver."
                    },
                    "driver_version": {
                      "type": "string",
                      "description": "Version of the driver. Present only if installed agent supports driver."
                    },
                    "role": {
                      "type": "string",
                      "description": "Agent's role."
                    },
                    "cache_size_limit": {
                      "type": "number",
                      "description": "Cache size limit. Only for agent with role caching_gateway"
                    },
                    "hydrated_files": {
                      "type": "number",
                      "description": "Hydrated files on agent. Only for agent with role caching_gateway"
                    },
                    "hydrated_files_total": {
                      "type": "number",
                      "description": "Hydrated files by file policy. Only for agent with role caching_gateway"
                    },
                    "hydrated_bytes": {
                      "type": "number",
                      "description": "Hydrated bytes on agent. Only for agent with role caching_gateway"
                    },
                    "hydrated_bytes_total": {
                      "type": "number",
                      "description": "Hydrated bytes by file policy. Only for agent with role caching_gateway"
                    },
                    "pinned_files": {
                      "type": "number",
                      "description": "Pinned files on agent. Only for agent with role caching_gateway"
                    },
                    "pinned_files_total": {
                      "type": "number",
                      "description": "Pinned files by file policy. Only for agent with role caching_gateway"
                    },
                    "pinned_bytes": {
                      "type": "number",
                      "description": "Pinned bytes on agent. Only for agent with role caching_gateway"
                    },
                    "pinned_bytes_total": {
                      "type": "number",
                      "description": "Pinned bytes by file policy. Only for agent with role caching_gateway"
                    },
                    "oldest_alive_file_access_time": {
                      "type": "number",
                      "description": "Oldest alive file access time (in seconds). Only for agent with role caching_gateway"
                    },
                    "cache_filled_up_last_time": {
                      "type": "number",
                      "description": "Last time cache was filled up (in seconds). Only for agent with role caching_gateway"
                    },
                    "excluded_bytes": {
                      "type": "number",
                      "description": "Excluded bytes on agent by file policy. Only for agent with role caching_gateway"
                    },
                    "excluded_files": {
                      "type": "number",
                      "description": "Excluded files on agent by file policy. Only for agent with role caching_gateway"
                    },
                    "redownloaded_bytes": {
                      "type": "number",
                      "description": "Redownloaded bytes. Only for agent with role caching_gateway"
                    },
                    "redownloaded_files": {
                      "type": "number",
                      "description": "Redownloaded files. Only for agent with role caching_gateway"
                    },
                    "redownloaded_bytes_last_week": {
                      "type": "number",
                      "description": "Redownloaded bytes last week. Only for agent with role caching_gateway"
                    },
                    "redownloaded_files_last_week": {
                      "type": "number",
                      "description": "Redownloaded files last week. Only for agent with role caching_gateway"
                    }
                  },
                  "required": [
                    "active",
                    "errors",
                    "errors.code_str",
                    "errors.message",
                    "job_id",
                    "job_name",
                    "job_run_id",
                    "last_seen",
                    "permission",
                    "run_id",
                    "status",
                    "role"
                  ]
                },
                "examples": {
                  "script_job_example": {
                    "summary": "Script job example:",
                    "value": {
                      "active": false,
                      "duration": 8,
                      "errors": [],
                      "finish_time": 1644580638,
                      "job_id": 1,
                      "job_name": "New Script job",
                      "job_run_id": 1,
                      "last_seen": 1644579122808,
                      "permission": "rw",
                      "run_id": 1,
                      "start_time": 1644580629,
                      "status": "completed",
                      "event_logs_complete": true
                    }
                  },
                  "distribution_job_example": {
                    "summary": "Distribution job example:",
                    "value": {
                      "active": true,
                      "agent_archive_size": 16106127360,
                      "data_transferred_down": 0,
                      "data_transferred_up": 0,
                      "deduplication_speed": 0,
                      "down_data_speed": 0,
                      "down_files_per_second": 0,
                      "down_speed": 0,
                      "download_bytes_percent": 100,
                      "download_files_percent": 100,
                      "duration": 19344,
                      "errors": [],
                      "eta": 0,
                      "files_completed": 40,
                      "files_total": 40,
                      "finish_time": 0,
                      "hashed_files_speed": 0,
                      "hashed_speed": 0,
                      "job_id": 1,
                      "job_name": "New Distribution job",
                      "job_run_id": 1,
                      "last_seen": 1644579060582,
                      "max_down_files_per_second": 0,
                      "max_down_speed": 0,
                      "max_up_speed": 0,
                      "peers_count": 0,
                      "peers_count_proxied": 0,
                      "permission": "rw",
                      "run_id": 1,
                      "scanned_files_speed": 0,
                      "size_completed": 34083451,
                      "size_deduplicated": 0,
                      "size_total": 34083451,
                      "start_time": 1644566423,
                      "status": "inprogress",
                      "total_archive_size": 42949672960,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 0,
                      "transferred_files_down": 0,
                      "transferred_up": 0,
                      "up_data_speed": 0,
                      "up_speed": 0
                    }
                  },
                  "sync_job_example": {
                    "summary": "Sync job example:",
                    "value": {
                      "active": true,
                      "agent_archive_size": 16106127360,
                      "data_transferred_down": 0,
                      "data_transferred_up": 0,
                      "deduplication_speed": 0,
                      "down_data_speed": 0,
                      "down_files_per_second": 0,
                      "down_speed": 0,
                      "download_bytes_percent": 0,
                      "download_files_percent": 0,
                      "errors": [
                        {
                          "code_str": "SE_SM_FOLDER_INSIDE_SYNC_FOLDER",
                          "code": 203,
                          "message": "You don't have enough permissions to share part of a read-only folder. Please choose another folder."
                        }
                      ],
                      "eta": 0,
                      "files_completed": 0,
                      "files_selected": 0,
                      "files_total": 0,
                      "hashed_files_speed": 0,
                      "hashed_speed": 0,
                      "initial_syncing": "completed",
                      "is_reference": false,
                      "job_id": 1,
                      "job_name": "New Synchronization Job",
                      "job_run_id": 1,
                      "last_seen": 1644579122808,
                      "last_synced": 0,
                      "max_down_files_per_second": 0,
                      "max_down_speed": 0,
                      "max_up_speed": 0,
                      "peers_count": 0,
                      "peers_count_proxied": 0,
                      "permission": "ro",
                      "run_id": 1,
                      "scanned_files_speed": 0,
                      "size_completed": 0,
                      "size_deduplicated": 0,
                      "size_selected": 0,
                      "size_total": 0,
                      "status": "inprogress",
                      "total_archive_size": 42949672960,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 0,
                      "transferred_files_down": 0,
                      "transferred_up": 0,
                      "up_data_speed": 0,
                      "up_speed": 0
                    }
                  },
                  "file_caching_job_example": {
                    "summary": "File Caching job example:",
                    "value": {
                      "agent_archive_size": 0,
                      "agent_archive_files": 0,
                      "size_completed": 3690987520,
                      "size_deduplicated": 0,
                      "size_selected": 3690987520,
                      "data_transferred_down": 0,
                      "data_transferred_up": 2885681152,
                      "deduplication_speed": 0,
                      "download_bytes_percent": 100,
                      "down_data_speed": 0,
                      "down_speed": 0,
                      "down_files_per_second": 0,
                      "download_files_percent": 100,
                      "eta": 0,
                      "files_completed": 10,
                      "files_total": 10,
                      "files_selected": 10,
                      "hashed_files_speed": 0,
                      "hashed_speed": 0,
                      "initial_syncing": "completed",
                      "is_reference": false,
                      "last_seen": 1707830512341,
                      "last_synced": 1707832996,
                      "max_down_files_per_second": 0,
                      "max_down_speed": 887,
                      "max_up_speed": 377,
                      "peers_count": 1,
                      "peers_count_proxied": 0,
                      "scanned_files_speed": 0,
                      "size_total": 3690987520,
                      "status": "completed",
                      "total_archive_size": 0,
                      "total_archive_files": 0,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 180948,
                      "transferred_files_down": 0,
                      "transferred_up": 3206471444,
                      "up_data_speed": 0,
                      "up_speed": 0,
                      "active": true,
                      "job_id": 37,
                      "job_name": "New File Caching Job",
                      "job_run_id": 33,
                      "run_id": 1,
                      "role": "primary_storage",
                      "permission": "rw",
                      "errors": []
                    }
                  },
                  "hybrid_work_job_example": {
                    "summary": "Hybrid Work job example:",
                    "value": {
                      "agent_archive_size": 0,
                      "agent_archive_files": 0,
                      "size_completed": 671088640,
                      "size_deduplicated": 0,
                      "size_selected": 671088640,
                      "data_transferred_down": 671088640,
                      "data_transferred_up": 0,
                      "deduplication_speed": 0,
                      "download_bytes_percent": 100,
                      "down_data_speed": 0,
                      "down_speed": 2,
                      "down_files_per_second": 0,
                      "download_files_percent": 100,
                      "eta": 0,
                      "files_completed": 1,
                      "files_total": 1,
                      "files_selected": 1,
                      "hashed_files_speed": 0,
                      "hashed_speed": 0,
                      "initial_syncing": "completed",
                      "is_reference": false,
                      "last_seen": 1707830512340,
                      "last_synced": 1707833046,
                      "max_down_files_per_second": 1,
                      "max_down_speed": 69174238,
                      "max_up_speed": 35874,
                      "peers_count": 1,
                      "peers_count_proxied": 0,
                      "scanned_files_speed": 0,
                      "size_total": 671088640,
                      "status": "completed",
                      "total_archive_size": 0,
                      "total_archive_files": 0,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 672359643,
                      "transferred_files_down": 1,
                      "transferred_up": 391223,
                      "up_data_speed": 0,
                      "up_speed": 9,
                      "active": true,
                      "job_id": 39,
                      "job_name": "New Hybrid Work Job",
                      "job_run_id": 35,
                      "run_id": 1,
                      "role": "enduser",
                      "permission": "srw",
                      "errors": []
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "job_run_id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "AgentRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/runs": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agent job runs",
        "operationId": "AgentRuns",
        "description": "Returns Agent status for all its job runs. See Get Agent job run for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Requested Agent job runs offset, 0 by default",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Requested Agent job runs limit, 20 by default",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Requested job runs order. Possible values: \nasc - Job runs in ascending order \ndesc - Job runs in descending order (default)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort requested job runs. Possible values: \njob_name - Job name \nstart_time - Job run start time (default) \nfinish_time - Job run finish time",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "description": "Include active/inactive job runs. Includes all by default",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "x-apidocName": "AgentRuns",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}": {
      "delete": {
        "tags": [
          "Agents"
        ],
        "summary": "Delete Agent",
        "operationId": "DeleteAgent",
        "description": "Disconnect and delete Agent from Management Console.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteAgent",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agent by id",
        "operationId": "GetAgent",
        "description": "Returns Agent info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "version": {
                      "type": "string",
                      "description": "Agent version"
                    },
                    "deviceid": {
                      "type": "string",
                      "description": "Device id"
                    },
                    "groups": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Array of Agent groups"
                    },
                    "groups.id": {
                      "type": "number",
                      "description": "Group id"
                    },
                    "tags": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Array of Agent tags"
                    },
                    "tags.name": {
                      "type": "string",
                      "description": "Tag name"
                    },
                    "tags.value": {
                      "type": "string",
                      "description": "Tag value"
                    },
                    "online": {
                      "type": "boolean",
                      "description": "True if Agent is online"
                    },
                    "uptime": {
                      "type": "number",
                      "description": "Uptime in seconds reported by the Agent. 0 if Agent is offline"
                    },
                    "errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Errors list"
                    },
                    "errors.code": {
                      "type": "number",
                      "description": "Error code (deprecated since 2.9.1)"
                    },
                    "errors.code_str": {
                      "type": "string",
                      "description": "Error string code"
                    },
                    "errors.message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "errors.job_id": {
                      "type": "number",
                      "description": "Job id"
                    },
                    "errors.job_run_id": {
                      "type": "number",
                      "description": "Job run id"
                    },
                    "errors.folderid": {
                      "type": "number",
                      "description": "Transfer id"
                    },
                    "status": {
                      "type": "string",
                      "description": "Agent status. Possible values: \nunlicensed - Agent doesn't have a valid license \nerror - Agent has an error \nwarning - Agent has a warning \nsynced - Agent's jobs are synced \ninprogress - Agent has jobs in progress \noffline - Agent is offline \npaused - Agent is paused \nrestartRequired - Agent restart is required"
                    },
                    "wan_enabled": {
                      "type": "boolean",
                      "description": "Is WAN optimization enabled"
                    },
                    "date_added": {
                      "type": "number",
                      "description": "Time when Agent was added (timestamp in seconds)"
                    },
                    "last_seen": {
                      "type": "number",
                      "description": "Last time Agent seen online (timestamp in seconds)"
                    },
                    "os": {
                      "type": "string",
                      "description": "Agent operation system"
                    },
                    "ip": {
                      "type": "string",
                      "description": "Agent ip-address"
                    },
                    "jobs_count": {
                      "type": "number",
                      "description": "Number of jobs for the Agent"
                    },
                    "cpu_usage": {
                      "type": "number",
                      "description": "CPU usage on the Agent"
                    },
                    "memory_usage": {
                      "type": "number",
                      "description": "Memory usage on the Agent"
                    },
                    "up_speed": {
                      "type": "number",
                      "description": "Upload speed by the Agent (Bps)"
                    },
                    "down_speed": {
                      "type": "number",
                      "description": "Download speed by the Agent (Bps)"
                    },
                    "connections": {
                      "type": "number",
                      "description": "Amount of current connections by the Agent"
                    },
                    "disk_usage": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Amount of disk space available per file system (disk)"
                    },
                    "disk_usage.path": {
                      "type": "string",
                      "description": "Path to file system (disk)"
                    },
                    "disk_usage.total": {
                      "type": "number",
                      "description": "Total file system (disk) space available"
                    },
                    "disk_usage.free": {
                      "type": "number",
                      "description": "Free file system (disk) space available"
                    },
                    "settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Agent settings"
                    },
                    "settings.folder_storage_path": {
                      "type": "string",
                      "description": "Path to folder storage"
                    },
                    "settings.bandwidth": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Bandwidth scheduler for the Agent"
                    },
                    "settings.bandwidth.up": {
                      "type": "number",
                      "description": "Bandwidth scheduler upload speed limit (KBps). Unlimited value is -1"
                    },
                    "settings.bandwidth.down": {
                      "type": "number",
                      "description": "Bandwidth scheduler download speed limit (KBps). Unlimited value is -1"
                    },
                    "applied_profile_id": {
                      "type": "number",
                      "description": "Applied profile id"
                    },
                    "applied_schedule_id": {
                      "type": "number",
                      "description": "Applied bandwidth schedule id"
                    },
                    "hostname": {
                      "type": "string",
                      "description": "Hostname"
                    },
                    "os_user": {
                      "type": "string",
                      "description": "OS user name"
                    },
                    "driver_status": {
                      "type": "string",
                      "description": "Current status of the driver. Present only if installed agent supports driver."
                    },
                    "driver_version": {
                      "type": "string",
                      "description": "Version of the driver. Present only if installed agent supports driver."
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "version",
                    "deviceid",
                    "groups",
                    "groups.id",
                    "tags",
                    "tags.name",
                    "tags.value",
                    "online",
                    "uptime",
                    "errors",
                    "errors.code_str",
                    "errors.message",
                    "status",
                    "wan_enabled",
                    "date_added",
                    "last_seen",
                    "os",
                    "ip",
                    "jobs_count",
                    "cpu_usage",
                    "memory_usage",
                    "up_speed",
                    "down_speed",
                    "connections",
                    "disk_usage",
                    "disk_usage.path",
                    "disk_usage.total",
                    "disk_usage.free",
                    "settings",
                    "settings.folder_storage_path",
                    "settings.bandwidth",
                    "settings.bandwidth.up",
                    "settings.bandwidth.down",
                    "applied_profile_id",
                    "applied_schedule_id",
                    "hostname",
                    "os_user"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example",
                    "value": {
                      "id": 1,
                      "name": "Agent01",
                      "deviceid": "GAH75SH5WPMVGXWH4WAV2BPXAMOB6YTH",
                      "groups": [],
                      "online": true,
                      "uptime": 5140,
                      "errors": [],
                      "status": "synced",
                      "wan_enabled": false,
                      "date_added": 1489641775,
                      "last_seen": 1489675417,
                      "os": "linux",
                      "ip": "127.0.0.1",
                      "settings": {
                        "folder_storage_path": "/path/to/storage"
                      },
                      "tags": [
                        {
                          "name": "AGENT_NAME",
                          "value": "VirtualSync-0"
                        },
                        {
                          "name": "AGENT_ID",
                          "value": "GAH75SH5WPMVGXWH4WAV2BPXAMOB6YTH"
                        },
                        {
                          "name": "MY_TAG",
                          "value": "MyTagValue"
                        }
                      ],
                      "jobs_count": 0,
                      "disk_usage": [
                        {
                          "free": 14951653376,
                          "total": 37982560256,
                          "path": "/"
                        },
                        {
                          "free": 774340415488,
                          "total": 933402017792,
                          "path": "/home"
                        }
                      ],
                      "applied_schedule_id": 1,
                      "applied_profile_id": 1
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetAgent",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Agents"
        ],
        "summary": "Update Agent",
        "operationId": "UpdateAgent",
        "description": "Update Agent. Only name, tags and WAN optimization can be changed.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Agent name. Use it if you want to rename the Agent"
                  },
                  "tags": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Agent tags"
                  },
                  "tags.name": {
                    "type": "string",
                    "description": "Tag name"
                  },
                  "tags.value": {
                    "type": "string",
                    "description": "Tag value"
                  },
                  "wan_enabled": {
                    "type": "boolean",
                    "description": "Is WAN optimization enabled"
                  }
                },
                "required": [
                  "tags.name",
                  "tags.value"
                ]
              },
              "examples": {
                "update_tag_example": {
                  "summary": "Update tag example:",
                  "value": {
                    "tags": [
                      {
                        "name": "MY_TAG",
                        "value": "MyTagValue"
                      }
                    ],
                    "wan_enabled": true
                  }
                },
                "rename_example": {
                  "summary": "Rename example:",
                  "value": {
                    "name": "new_agent_name"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateAgent",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/config": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agent config",
        "operationId": "GetAgentConfig",
        "description": "Returns config to connect a new Agent.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "folders_storage_path": "%DOWNLOADS%",
                      "management_server": {
                        "host": "127.0.0.1:8444",
                        "cert_authority_fingerprint": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "bootstrap_token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                        "disable_cert_check": false
                      },
                      "mc_restricted_access": false,
                      "use_gui": true
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetAgentConfig",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/jobs": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agent jobs by Agent id",
        "operationId": "GetAgentJobs",
        "description": "Returns all jobs configuration for Agent.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "permission": {
                      "type": "string",
                      "description": "Agent permissions"
                    },
                    "macro": {
                      "type": "string",
                      "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS"
                    },
                    "path": {
                      "type": "string",
                      "description": "Agents path"
                    },
                    "storage_config_id": {
                      "type": "number",
                      "description": "Storage connector config id. \nIf the parameter is not specified, Storage connector isn't used"
                    },
                    "role": {
                      "type": "string",
                      "description": "Role primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                    },
                    "file_policy_id": {
                      "type": "number",
                      "description": "File policy id. Only for agent with caching_gateway, enduser role"
                    },
                    "priority_agents": {
                      "type": "boolean",
                      "description": "Priority agents. Only for agent with primary_storage role or agent in sync job."
                    },
                    "lock_server": {
                      "type": "boolean",
                      "description": "Locks server. Only for the case when setting.use_file_locking is true for agent with primary_storage role or agent in sync job."
                    },
                    "triggers": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job triggers. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                    },
                    "triggers.pre_indexing": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Before file-indexing begins"
                    },
                    "triggers.pre_indexing.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_indexing.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_indexing.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_move": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Before an agent finalizing download. Only for distribution jobs"
                    },
                    "triggers.pre_move.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_move.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_move.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.post_download": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "After an agent completes downloading"
                    },
                    "triggers.post_download.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.post_download.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.post_download.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.complete": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "After all agents complete downloading"
                    },
                    "triggers.complete.linux": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Linux command"
                    },
                    "triggers.complete.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.complete.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "script": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Script for script job"
                    },
                    "script.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "script.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "script.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "id": {
                      "type": "number",
                      "description": "Job id"
                    },
                    "type": {
                      "type": "string",
                      "description": "Job type"
                    },
                    "name": {
                      "type": "string",
                      "description": "Job name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Job description"
                    },
                    "scheduler": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Scheduler. Not applicable for sync, file_caching, hybrid_work job"
                    },
                    "scheduler.type": {
                      "type": "string",
                      "description": "Type of the scheduler"
                    },
                    "scheduler.time": {
                      "type": "number",
                      "description": "once - timestamp in seconds, daily - number of seconds since midnight, weekly - array of seconds since midnight"
                    },
                    "scheduler.every": {
                      "type": "number",
                      "description": "minutes - run every N minutes(min 5 minutes), hourly - run every N hours, daily - run every N days"
                    },
                    "scheduler.days": {
                      "type": "number",
                      "description": "weekly - array of days of week to run (encoded in numbers from 0 to 6, 0 is Sunday)"
                    },
                    "scheduler.start": {
                      "type": "number",
                      "description": "Scheduler start time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                    },
                    "scheduler.finish": {
                      "type": "number",
                      "description": "Scheduler finish time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                    },
                    "scheduler.config": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job monthly scheduler configuration"
                    },
                    "scheduler.config.offset": {
                      "type": "number",
                      "description": "Specifies the position within a month \nWhen representing a day, the value range is 1–31 \nWhen representing monday, tuesday, wednesday, thursday, friday, saturday, and sunday the value range is 1–5"
                    },
                    "scheduler.config.unit": {
                      "type": "string",
                      "description": "Specifies the day of the month or the day of week"
                    },
                    "scheduler.config.direction": {
                      "type": "string",
                      "description": "Determines the reference point within the month for scheduling. \nmonth_beginning - the offset is calculated starting from the first day of the month \nmonth_end - the offset is calculated starting from the last day of the month"
                    },
                    "scheduler.config.time": {
                      "type": "number",
                      "description": "Specifies the time of the day to run the job (minutes)"
                    },
                    "scheduler.skip_if_running": {
                      "type": "boolean",
                      "description": "Wait for job run to complete before starting new one (for all scheduler types except manually and now)"
                    },
                    "scheduler.next_schedule_run_time": {
                      "type": "number",
                      "description": "Next start job time (in seconds) applied by scheduler, -1 means no next schedule run"
                    },
                    "settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job settings."
                    },
                    "settings.priority": {
                      "type": "number",
                      "description": "Job priority. Not applicable for script jobs. The lowest priority: 0, the highest: 10"
                    },
                    "settings.use_ram_optimization": {
                      "type": "boolean",
                      "description": "Use RAM-optimized configuration. Not applicable for script jobs"
                    },
                    "settings.reference_instance_id": {
                      "type": "number",
                      "description": "The Reference Instance (Agent or High Availability group) propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Instance is required for the jobs that synchronize file permissions. Setting's value is -1 in case Reference Instance was deleted from the Job"
                    },
                    "settings.reference_instance_type": {
                      "type": "string",
                      "description": "The Reference Instance type. Agents and High Availability groups are allowed only. Default value is null (reference instance was removed or was not specified)"
                    },
                    "settings.reference_agent_id": {
                      "type": "number",
                      "description": "Deprecated since 4.0. Use reference_instance_type and reference_instance_id instead. The Reference Agent propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Agent is required for the jobs that synchronize file permissions. Default value is null"
                    },
                    "settings.profile": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Unique profile settings for job"
                    },
                    "settings.delete_synced_files": {
                      "type": "boolean",
                      "description": "Delete synced files. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                    },
                    "settings.delete_synced_files_ttl": {
                      "type": "number",
                      "description": "Delete synced files (in days). Only for distribution, consolidation, storage_tiering_and_archival jobs"
                    },
                    "settings.archive_by": {
                      "type": "string",
                      "description": "Criterion to archive by. Determines what field will be used settings.files_list, settings.modification_time or settings.access_time. \nOnly one selected criterion is applied. Similar settings from profile will be ignored. \nOnly for storage_tiering_and_archival job. \nMore information can be found here."
                    },
                    "settings.files_list": {
                      "type": "string",
                      "description": "List of regular expressions separated by a new line character \\n to match files based on their paths. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.modification_time": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Files will be matched based on time in seconds since they were last modified. \nIf only settings.modification_time.min is provided files with modification time earlier than settings.modification_time.min seconds ago will be matched. \nIf only settings.modification_time.max is provided files with modification time later than settings.modification_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with modification time between settings.modification_time.min and settings.modification_time.max will be matched. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.modification_time.max": {
                      "type": "number",
                      "description": "Max modification time in seconds."
                    },
                    "settings.modification_time.min": {
                      "type": "number",
                      "description": "Min modification time in seconds."
                    },
                    "settings.access_time": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Files will be matched based on time in seconds since they were last accessed. \nIf only settings.access_time.min is provided files with access time earlier than settings.access_time.min seconds ago will be matched. \nIf only settings.access_time.max is provided files with access time later than settings.access_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with access time between settings.access_time.min and settings.access_time.max will be matched. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.access_time.max": {
                      "type": "number",
                      "description": "Max access time in seconds."
                    },
                    "settings.access_time.min": {
                      "type": "number",
                      "description": "Min access time in seconds."
                    },
                    "settings.aws_s3_storage_class": {
                      "type": "string",
                      "description": "Setting that will be used if job's destination is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.aws_s3_retrieval_tier": {
                      "type": "string",
                      "description": "Setting that will be used if job's source is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.use_file_locking": {
                      "type": "boolean",
                      "description": "File locks setting. Only for sync, file_caching, hybrid_work jobs"
                    },
                    "settings.file_locks_timeout": {
                      "type": "number",
                      "description": "File locks timeout. \nApplicable only if setting.use_file_locking is true"
                    },
                    "settings.file_locks_sync_interval": {
                      "type": "number",
                      "description": "File locks sync interval. \nApplicable only if setting.use_file_locking is true"
                    },
                    "settings.file_locks_ignore_list": {
                      "type": "string",
                      "description": "File locks ignore list. \nApplicable only if setting.use_file_locking is true"
                    },
                    "settings.file_locks_allowed_access_when_no_server": {
                      "type": "string",
                      "description": "File locks access to files when no access to locks server. \nApplicable only if setting.use_file_locking is true."
                    },
                    "settings.map_folder_to_drive": {
                      "type": "string",
                      "description": "Map a local folder to a drive letter, applicable only for hybrid jobs on Windows end-users starting from version 4.2.0."
                    },
                    "errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of job errors"
                    },
                    "errors.code": {
                      "type": "number",
                      "description": "Error code (deprecated since 2.9.1)"
                    },
                    "errors.code_str": {
                      "type": "string",
                      "description": "Error string code"
                    },
                    "errors.message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "last_start_time": {
                      "type": "number",
                      "description": "Last time in seconds when the job was started"
                    },
                    "post_command_local_time": {
                      "type": "number",
                      "description": "Local Agent time after an Agent run completes downloading trigger (in seconds)"
                    },
                    "pre_move_command_local_time": {
                      "type": "number",
                      "description": "Local Agent time after an Agent run before finalizing download trigger (in seconds)"
                    },
                    "profile_id": {
                      "type": "number",
                      "description": "Job profile id"
                    }
                  },
                  "required": [
                    "permission",
                    "path",
                    "storage_config_id",
                    "role",
                    "file_policy_id",
                    "priority_agents",
                    "lock_server",
                    "triggers.pre_indexing.script",
                    "triggers.pre_indexing.shell",
                    "triggers.pre_indexing.ext",
                    "triggers.pre_move.script",
                    "triggers.pre_move.shell",
                    "triggers.pre_move.ext",
                    "triggers.post_download.script",
                    "triggers.post_download.shell",
                    "triggers.post_download.ext",
                    "triggers.complete.linux",
                    "triggers.complete.script",
                    "triggers.complete.shell",
                    "script.script",
                    "script.shell",
                    "script.ext",
                    "id",
                    "type",
                    "name",
                    "description",
                    "scheduler.type",
                    "scheduler.config.offset",
                    "scheduler.config.unit",
                    "scheduler.config.direction",
                    "scheduler.config.time",
                    "errors",
                    "errors.code_str",
                    "errors.message",
                    "last_start_time"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": [
                      {
                        "id": 12,
                        "type": "consolidation",
                        "name": "New Consolidation Job",
                        "description": "description",
                        "triggers": {
                          "complete": {
                            "script": "echo Download completed",
                            "shell": "cmd.exe /Q /C",
                            "ext": "cmd"
                          }
                        },
                        "scheduler": {
                          "type": "minutes",
                          "every": 10,
                          "skip_if_running": false,
                          "next_schedule_run_time": 1740577380
                        },
                        "settings": {
                          "priority": 5,
                          "use_ram_optimization": true,
                          "delete_synced_files": true,
                          "delete_synced_files_ttl": 10,
                          "profile": {}
                        },
                        "errors": [],
                        "last_start_time": 1740576819,
                        "permission": "rw",
                        "path": "C:\\folder\\New Consolidation Job"
                      }
                    ]
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetAgentJobs",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get Agents",
        "operationId": "GetAgents",
        "description": "Returns Agent in array. If no query filter parameter is specified, returns all Agents. Else returns matched Agents. Agents are ordered by ID. See get Agent for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetAgents",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agents/{id}/rescan/{run_id}": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Rescan folder",
        "operationId": "RescanFolder",
        "description": "Rescan folder",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "description": "Run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Agent OS specific relative path. Pass empty string to rescan all folder."
                  }
                },
                "required": [
                  "path"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "path": "subfolder/subfolder2"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "RescanFolder",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/azuread": {
      "put": {
        "tags": [
          "AzureAD"
        ],
        "summary": "Configure Azure AD settings",
        "operationId": "ConfigureAzureAD",
        "description": "Configure Azure AD settings. Returns Azure AD settings. See get Azure AD settings for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "authorization_code_flow_enabled": {
                    "type": "boolean",
                    "description": "Determines whether Azure AD Authorization code flow is enabled or not"
                  },
                  "client_credentials_flow_enabled": {
                    "type": "boolean",
                    "description": "Determines whether Azure AD Client credentials flow is enabled or not"
                  },
                  "client_id": {
                    "type": "string",
                    "description": "Client ID."
                  },
                  "client_secret": {
                    "type": "string",
                    "description": "Client secret. Required if Azure AD Authorization code flow is enabled"
                  },
                  "authority": {
                    "type": "string",
                    "description": "Authority. Required if Azure AD Authorization code flow is enabled"
                  },
                  "openid_configuration_url": {
                    "type": "string",
                    "description": "Azure OpenID Connect discovery document. Default value is https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration. Starting from version 4.2.1, it is strongly recommended to specify it always explicitly during the configuration."
                  },
                  "tenant_id": {
                    "type": "string",
                    "description": "Tenant ID. Starting from version 4.2.1, it is strongly recommended to specify it always explicitly during the configuration. If not specified, the default value is extracted from the authority URL if authorization code flow is enabled"
                  }
                },
                "required": [
                  "authorization_code_flow_enabled",
                  "client_credentials_flow_enabled",
                  "client_id",
                  "client_secret",
                  "authority",
                  "openid_configuration_url",
                  "tenant_id"
                ]
              },
              "examples": {
                "azure_ad_settings_configuration_example": {
                  "summary": "Azure AD settings configuration example:",
                  "value": {
                    "authorization_code_flow_enabled": true,
                    "client_credentials_flow_enabled": true,
                    "openid_configuration_url": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
                    "client_id": "647367463746as-939b-4d50-a21d-24d559402abb",
                    "client_secret": "sBi8Q~1212oN.nVr2_8UzYisasasASASAszA._Pi.c.L",
                    "authority": "https://login.microsoftonline.com/6adshjashjas-72bf-49ea-98f8-asjaksj8878",
                    "tenant_id": "647367463746as-939b-4d50-1213-24d559402abb"
                  }
                },
                "azure_ad_disabling_example": {
                  "summary": "Azure AD disabling example:",
                  "value": {
                    "authorization_code_flow_enabled": false,
                    "client_credentials_flow_enabled": false
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "ConfigureAzureAD",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "AzureAD"
        ],
        "summary": "Get Azure AD settings",
        "operationId": "GetAzureADSettings",
        "description": "Returns Azure AD settings",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "authorization_code_flow_enabled": {
                      "type": "boolean",
                      "description": "Determines whether Azure AD Authorization code flow is enabled or not"
                    },
                    "client_credentials_flow_enabled": {
                      "type": "boolean",
                      "description": "Determines whether Azure AD Client credentials flow is enabled or not"
                    },
                    "client_id": {
                      "type": "string",
                      "description": "Client ID."
                    },
                    "client_secret": {
                      "type": "string",
                      "description": "Client secret."
                    },
                    "authority": {
                      "type": "string",
                      "description": "Authority.openid_configuration_url"
                    },
                    "openid_configuration_url": {
                      "type": "string",
                      "description": "Azure OpenID Connect discovery document."
                    },
                    "tenant_id": {
                      "type": "string",
                      "description": "Tenant ID."
                    }
                  },
                  "required": [
                    "authorization_code_flow_enabled",
                    "client_credentials_flow_enabled",
                    "client_id",
                    "client_secret",
                    "authority",
                    "openid_configuration_url",
                    "tenant_id"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "authorization_code_flow_enabled": true,
                      "client_credentials_flow_enabled": true,
                      "openid_configuration_url": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
                      "client_id": "647367463746as-939b-4d50-a21d-24d559402abb",
                      "client_secret": "sBi******************",
                      "authority": "https://login.microsoftonline.com/6adshjashjas-72bf-49ea-98f8-asjaksj8878",
                      "tenant_id": "647367463746as-939b-4d50-1213-24d559402abb"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetAzureADSettings",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/backup": {
      "post": {
        "tags": [
          "Backup"
        ],
        "summary": "Create backup",
        "operationId": "CreateBackup",
        "description": "Create new backup. Returns backup info. See get backups for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "CreateBackup",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Backup"
        ],
        "summary": "Get backups",
        "operationId": "GetBackups",
        "description": "Returns backups list",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Backup id (timestamp)"
                    },
                    "name": {
                      "type": "string",
                      "description": "Backup name"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Backup info"
                    },
                    "hostname": {
                      "type": "string",
                      "description": "Hostname where backup was created"
                    },
                    "data.agents": {
                      "type": "number",
                      "description": "Number of Agents"
                    },
                    "data.groups": {
                      "type": "number",
                      "description": "Number of groups"
                    },
                    "data.jobs": {
                      "type": "number",
                      "description": "Number of jobs"
                    },
                    "data.transfers": {
                      "type": "number",
                      "description": "Number of transfers"
                    },
                    "data.schedules": {
                      "type": "number",
                      "description": "Number of bandwidth schedules"
                    },
                    "data.profiles": {
                      "type": "number",
                      "description": "Number of profiles"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "data",
                    "hostname",
                    "data.agents",
                    "data.groups",
                    "data.jobs",
                    "data.transfers",
                    "data.schedules",
                    "data.profiles"
                  ]
                },
                "examples": {
                  "in_progress": {
                    "summary": "In progress:",
                    "value": {
                      "id": 1643293444297,
                      "name": "backup_1643293444297",
                      "hostname": "my-server.local",
                      "data": {
                        "agents": 100,
                        "groups": 10,
                        "jobs": 30,
                        "transfers": 30,
                        "schedules": 3,
                        "profiles": 3
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetBackups",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/backup/restore/{id}": {
      "post": {
        "tags": [
          "Backup"
        ],
        "summary": "Restore backup",
        "operationId": "RestoreBackup",
        "description": "Restore backup",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Backup timestamp",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "RestoreBackup",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/info": {
      "get": {
        "tags": [
          "Common"
        ],
        "summary": "Get server information",
        "operationId": "GetInfo",
        "description": "Returns server information",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string",
                      "description": "Server version"
                    },
                    "os": {
                      "type": "string",
                      "description": "Server OS"
                    }
                  },
                  "required": [
                    "version",
                    "os"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetInfo",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/license/packages": {
      "get": {
        "tags": [
          "Common"
        ],
        "summary": "Get license packages",
        "operationId": "GetLicensePackages",
        "description": "Returns license packages in array.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "package": {
                      "type": "string",
                      "description": "License package"
                    },
                    "key": {
                      "type": "string",
                      "description": "License package key"
                    },
                    "name": {
                      "type": "string",
                      "description": "License package name (id)"
                    },
                    "display_name": {
                      "type": "string",
                      "description": "License package display name"
                    },
                    "count": {
                      "type": "number",
                      "description": "The number of agents that can be included in this package"
                    },
                    "used": {
                      "type": "number",
                      "description": "The number of agents already using this package"
                    },
                    "default": {
                      "type": "boolean",
                      "description": "A flag that indicates whether the package is default"
                    }
                  },
                  "required": [
                    "package",
                    "key",
                    "name",
                    "display_name",
                    "count",
                    "used",
                    "default"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": "[{\n\t\"name\": \"Universal WAN Agent\",\n\t\"display_name\": \"Universal WAN Agent\",\n\t\"package\": \"universal-wan-agent\",\n\t\"key\": \"Universal WAN Agent (Unlimited Files, Unlimited speed, WAN, Storage connectors)\",\n\t\"count\": 10000,\n\t\"used\": 6,\n\t\"default\": true\n}, { ... }]"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetLicensePackages",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/diagnostic/active": {
      "get": {
        "tags": [
          "Diagnostic"
        ],
        "summary": "Get active diagnostic test",
        "operationId": "GetActiveDiagnosticTest",
        "description": "Returns diagnostic test.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "active": {
                      "type": "boolean",
                      "description": "Shows the presence of active tests"
                    }
                  },
                  "required": [
                    "active"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "active": false
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetActiveDiagnosticTest",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/diagnostic/stop": {
      "post": {
        "tags": [
          "Diagnostic"
        ],
        "summary": "Stop a diagnostic test",
        "operationId": "StopDiagnosticTest",
        "description": "Terminates an active diagnostic test.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "StopDiagnosticTest",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/diagnostic/cloudconnection": {
      "post": {
        "tags": [
          "Diagnostic"
        ],
        "summary": "Start cloud test",
        "operationId": "TestCloudConnection",
        "description": "Start cloud connection test.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Array of test results strings"
                    },
                    "is_error": {
                      "type": "boolean",
                      "description": "Flag which indicated that test failed"
                    }
                  },
                  "required": [
                    "messages"
                  ]
                },
                "examples": {
                  "test_finished_example": {
                    "summary": "Test finished example:",
                    "value": {
                      "messages": [
                        "Testing connection to storage \"new s3\" on Agent \"DESKTOP-2021_2\"",
                        "Parsing credentials...",
                        "Credentials - OK",
                        "Checking connection to storage...",
                        "HTTP Code - 200",
                        "Storage connection test succeeded",
                        "Connection test finished"
                      ]
                    }
                  },
                  "test_failed_example": {
                    "summary": "Test failed example:",
                    "value": {
                      "messages": [
                        "Testing connection to storage \"new s3\" on Agent \"DESKTOP-2021_2\"",
                        "Parsing credentials...",
                        "Credentials - OK",
                        "Checking connection to storage...",
                        "Error - SE_ENC_UNKNOWN_ERROR",
                        "Storage connection test failed",
                        "Connection test finished"
                      ],
                      "is_error": true
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent_id": {
                    "type": "number",
                    "description": "Agent id"
                  },
                  "storage_id": {
                    "type": "number",
                    "description": "Storage id"
                  },
                  "storage_name": {
                    "type": "string",
                    "description": "Storage name"
                  },
                  "config": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Config for storage. Available fields: s3 - type, auth_type, access_id, access_secret, bucket, region s3c - type, auth_type, access_id, access_secret, bucket, region, endpoint, use_ssl azure, af - type, account, auth_type, key, sas_token, container, endpoint gs - type, auth_type, access_id, access_secret, bucket, project sharepoint - type, auth_type, client_id, client_secret, tenant_id, root, drive"
                  },
                  "config.type": {
                    "type": "string",
                    "description": "Storage type"
                  },
                  "config.auth_type": {
                    "type": "string",
                    "description": "Authorization type. \"sas\" is applicable for azure and af storages. \"iam\" is applicable for s3 storages only. \"secret\" is applicable for \"od\" storages only"
                  },
                  "config.access_id": {
                    "type": "string",
                    "description": "Access ID for s3, s3c and gs storages if auth_type is \"key\""
                  },
                  "config.access_secret": {
                    "type": "string",
                    "description": "Access secret for s3, s3c and gs storages if auth_type is \"key\""
                  },
                  "config.bucket": {
                    "type": "string",
                    "description": "Bucket for s3, s3c and gs storages"
                  },
                  "config.region": {
                    "type": "string",
                    "description": "Region for s3 and s3c storages"
                  },
                  "config.endpoint": {
                    "type": "string",
                    "description": "Endpoint for s3c, azure and af storages"
                  },
                  "config.account": {
                    "type": "string",
                    "description": "Account for azure and af storage"
                  },
                  "config.key": {
                    "type": "string",
                    "description": "Key for azure and af storage if auth_type is \"key\""
                  },
                  "config.sas_token": {
                    "type": "string",
                    "description": "SAS token for azure and af storage if auth_type is \"sas\""
                  },
                  "config.container": {
                    "type": "string",
                    "description": "Container for azure and af storage"
                  },
                  "config.project": {
                    "type": "string",
                    "description": "Project for gs storage"
                  },
                  "config.use_ssl": {
                    "type": "boolean",
                    "description": "Should use SSL for s3c storage"
                  },
                  "config.client_id": {
                    "type": "string",
                    "description": "Application ID for SharePoint"
                  },
                  "config.client_secret": {
                    "type": "string",
                    "description": "Application secret for SharePoint"
                  },
                  "config.tenant_id": {
                    "type": "string",
                    "description": "Tenant ID for SharePoint"
                  },
                  "config.root": {
                    "type": "string",
                    "description": "Root for SharePoint"
                  },
                  "config.drive": {
                    "type": "string",
                    "description": "Drive for SharePoint\n\nPlease set the maximum request timeout (more than 30 sec) because the test may take a long time."
                  }
                },
                "required": [
                  "agent_id",
                  "config.type"
                ]
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "agent_id": 2,
                    "storage_id": 1,
                    "storage_name": "new s3",
                    "config": {
                      "type": "s3",
                      "auth_type": "key",
                      "access_id": "ABSGNHYTDR9495969784",
                      "access_secret": "ABSGNHYTDR9495969784ABSGNHYTDR949596978=",
                      "region": "us‑west‑1"
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "TestCloudConnection",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/filePolicies": {
      "post": {
        "tags": [
          "FilePolicies"
        ],
        "summary": "Create file policy",
        "operationId": "CreateFilePolicy",
        "description": "Create new file policy.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "File policy name. Must be unique."
                  },
                  "case_insensitive": {
                    "type": "boolean",
                    "description": "Case sensitivity ON/OFF for rules lists."
                  },
                  "hydration": {
                    "type": "string",
                    "description": "List of hydration rules. Must not contain empty strings. Must contain only valid regular expressions."
                  },
                  "exclusion": {
                    "type": "string",
                    "description": "List of exclusion rules. Must not contain empty strings. Must contain only valid regular expressions."
                  },
                  "pinning": {
                    "type": "string",
                    "description": "List of pinning rules. Must not contain empty strings. Must contain only valid regular expressions."
                  },
                  "size_limit_type": {
                    "type": "string",
                    "description": "Type of size limit."
                  },
                  "size_limit": {
                    "type": "number",
                    "description": "Cache size limit. Must be greater than 0. Max value is 100, if size_limit_type is equal 'percent'."
                  },
                  "clear_cache_when": {
                    "type": "number",
                    "description": "Clear cache when percent of used cache storage is equal to specified value. Must be integer. Must be greater than or equal to 0. Must be less than or equal to 100."
                  },
                  "clear_cache_until": {
                    "type": "number",
                    "description": "Clear cache cache until percent of used cache storage is back to specified value. Must be integer. Must be greater than or equal to 0. Must be less than or equal to 100. Must be less than clear_cache_when"
                  },
                  "priority_type": {
                    "type": "string",
                    "description": "Type of priority."
                  },
                  "priority_by_mtime": {
                    "type": "string",
                    "description": "Type of priority by mtime. Required if priority_type is equal 'mtime'. Ignored if other priority_type is selected."
                  },
                  "priority_by_name": {
                    "type": "string",
                    "description": "List of names. Required if priority_type is equal 'name'. Ignored if other priority_type is selected. Must not contain empty strings. Must be in correct format and contain only valid regular expressions."
                  }
                },
                "required": [
                  "name",
                  "case_insensitive",
                  "hydration",
                  "exclusion",
                  "pinning",
                  "size_limit_type",
                  "size_limit",
                  "clear_cache_when",
                  "clear_cache_until",
                  "priority_type"
                ]
              },
              "examples": {
                "file_policy_example": {
                  "summary": "File policy example:",
                  "value": {
                    "name": "unique file policy name",
                    "case_insensitive": false,
                    "pinning": [
                      "regex1",
                      "regex2"
                    ],
                    "exclusion": [
                      "regex3"
                    ],
                    "hydration": [],
                    "size_limit": 50,
                    "size_limit_type": "percent",
                    "clear_cache_when": 90,
                    "clear_cache_until": 70,
                    "priority_type": "name",
                    "priority_by_name": [
                      "1 /regex4/",
                      "2 /regex5/i"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateFilePolicy",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "FilePolicies"
        ],
        "summary": "Get all file policies",
        "operationId": "GetFilePolicies",
        "description": "Returns all file policies in array. See get file policy for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetFilePolicies",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/filePolicies/{id}": {
      "delete": {
        "tags": [
          "FilePolicies"
        ],
        "summary": "Delete file policy",
        "operationId": "DeleteFilePolicy",
        "description": "Delete file policy. Only File policy that is not used in any job can be deleted.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File policy id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteFilePolicy",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "FilePolicies"
        ],
        "summary": "Get file policy by id",
        "operationId": "GetFilePolicy",
        "description": "Returns file policy.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "File policy id"
                    },
                    "name": {
                      "type": "string",
                      "description": "File policy name. Is unique."
                    },
                    "case_insensitive": {
                      "type": "boolean",
                      "description": "Case sensitivity ON/OFF for rules lists."
                    },
                    "exclusion": {
                      "type": "string",
                      "description": "List of exclusion rules"
                    },
                    "pinning": {
                      "type": "string",
                      "description": "List of pinning rules"
                    },
                    "size_limit_type": {
                      "type": "string",
                      "description": "Type of size limit."
                    },
                    "size_limit": {
                      "type": "number",
                      "description": "Cache size limit. Is greater than 0. Max value is 100, if size_limit_type is equal 'percent'."
                    },
                    "clear_cache_when": {
                      "type": "number",
                      "description": "Clear cache when percent of used cache storage is equal to specified value."
                    },
                    "clear_cache_until": {
                      "type": "number",
                      "description": "Clear cache cache until percent of used cache storage is back to specified value."
                    },
                    "priority_type": {
                      "type": "string",
                      "description": "Type of priority."
                    },
                    "priority_by_mtime": {
                      "type": "string",
                      "description": "Type of priority by mtime. Required if priority_type is equal 'mtime'."
                    },
                    "priority_by_name": {
                      "type": "string",
                      "description": "List of names. Required if priority_type is equal 'name'."
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "case_insensitive",
                    "exclusion",
                    "pinning",
                    "size_limit_type",
                    "size_limit",
                    "clear_cache_when",
                    "clear_cache_until",
                    "priority_type"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "name": "unique file policy name",
                      "case_insensitive": false,
                      "pinning": [
                        "regex1",
                        "regex2"
                      ],
                      "exclusion": [
                        "regex3"
                      ],
                      "hydration": [],
                      "size_limit": 123,
                      "size_limit_type": "absolute",
                      "clear_cache_when": 90,
                      "clear_cache_until": 70,
                      "priority_type": "mtime",
                      "priority_by_mtime": "new"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File policy id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetFilePolicy",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "FilePolicies"
        ],
        "summary": "Update file policy",
        "operationId": "UpdateFilePolicy",
        "description": "Update file policy.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "File policy id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "File policy name. Must be unique."
                  },
                  "case_insensitive": {
                    "type": "boolean",
                    "description": "Case sensitivity ON/OFF for rules lists."
                  },
                  "hydration": {
                    "type": "string",
                    "description": "List of hydration rules. Must not contain empty strings. Must contain only valid regular expressions."
                  },
                  "exclusion": {
                    "type": "string",
                    "description": "List of exclusion rules. Must not contain empty strings. Must contain only valid regular expressions."
                  },
                  "pinning": {
                    "type": "string",
                    "description": "List of pinning rules. Must not contain empty strings. Must be in correct format and contain only valid regular expressions."
                  },
                  "size_limit_type": {
                    "type": "string",
                    "description": "Type of size limit."
                  },
                  "size_limit": {
                    "type": "number",
                    "description": "Cache size limit. Must be greater than 0. Max value is 100, if size_limit_type is equal 'percent'."
                  },
                  "clear_cache_when": {
                    "type": "number",
                    "description": "Clear cache when percent of used cache storage is equal to specified value. Must be integer. Must be greater than or equal to 0. Must be less than or equal to 100."
                  },
                  "clear_cache_until": {
                    "type": "number",
                    "description": "Clear cache cache until percent of used cache storage is back to specified value. Must be integer. Must be greater than or equal to 0. Must be less than or equal to 100. Must be less than clear_cache_when"
                  },
                  "priority_type": {
                    "type": "string",
                    "description": "Type of priority."
                  },
                  "priority_by_mtime": {
                    "type": "string",
                    "description": "Type of priority by mtime. Required if priority_type is equal 'mtime'. Ignored if other priority_type is selected."
                  },
                  "priority_by_name": {
                    "type": "string",
                    "description": "List of names. Required if priority_type is equal 'name'. Ignored if other priority_type is selected. Must not contain empty strings. Must be in correct format and contain only valid regular expressions."
                  }
                },
                "required": [
                  "name",
                  "case_insensitive",
                  "hydration",
                  "exclusion",
                  "pinning",
                  "size_limit_type",
                  "size_limit",
                  "clear_cache_when",
                  "clear_cache_until",
                  "priority_type"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "name": "unique file policy name",
                    "case_insensitive": true,
                    "pinning": [
                      "regex1",
                      "regex2"
                    ],
                    "exclusion": [
                      "regex3"
                    ],
                    "hydration": [],
                    "size_limit": 11,
                    "size_limit_type": "percent",
                    "clear_cache_when": 90,
                    "clear_cache_until": 70,
                    "priority_type": "none"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateFilePolicy",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/filePolicies/{id}/jobs": {
      "get": {
        "tags": [
          "FilePolicies"
        ],
        "summary": "Get all job ids where file policy is used",
        "operationId": "GetJobIdsByFilePolicy",
        "description": "Returns array of job ids used by file policy. Only returns job ids that requesting user has access to.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": [
                      1,
                      2,
                      4
                    ]
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "GetJobIdsByFilePolicy",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/filequery/{id}/stop": {
      "post": {
        "tags": [
          "File query"
        ],
        "summary": "Stop file query by id",
        "operationId": "AbortFileQuery",
        "description": "Stop file query",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "AbortFileQuery",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/filequery": {
      "post": {
        "tags": [
          "File query"
        ],
        "summary": "Create file query",
        "operationId": "CreateFileQuery",
        "description": "Creates file query. Returns file query details. See get file query for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "job_run_id": {
                    "type": "number",
                    "description": "Job run id. Files can be queried on active job runs only except for script jobs."
                  },
                  "agents_ids": {
                    "type": "number",
                    "description": "Job run Agents ids. Start file query of specified Agents. Will query files on all Job run Agents in case array is empty"
                  },
                  "type": {
                    "type": "string",
                    "description": "File query type"
                  },
                  "files": {
                    "type": "number",
                    "description": "Number of files to show in result. Required for type \"by_file_path\" and \"by_statuses\". Minimum value is 1. Maximum value is 1000."
                  },
                  "file_path": {
                    "type": "string",
                    "description": "Show files by specified path. Required for type \"by_file_path\""
                  },
                  "file_regex": {
                    "type": "string",
                    "description": "Filter files by specified regex. For type \"by_statuses\""
                  },
                  "period": {
                    "type": "number",
                    "description": "Show deleted files for last N hours. Default value is 24. For type \"by_statuses\" and \"file_status_settings.deleted\""
                  },
                  "file_status_settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Show files with specified statuses. Requried for type \"by_statuses\""
                  },
                  "file_status_settings.cant_sync_now": {
                    "type": "boolean",
                    "description": "Show files that cannot be synced now."
                  },
                  "file_status_settings.deleted": {
                    "type": "boolean",
                    "description": "Show deleted files (see \"period\" parameter)."
                  },
                  "file_status_settings.downloaded": {
                    "type": "boolean",
                    "description": "Show downloaded files"
                  },
                  "file_status_settings.in_queue": {
                    "type": "boolean",
                    "description": "Show files in download queue"
                  }
                },
                "required": [
                  "job_run_id",
                  "agents_ids",
                  "type",
                  "files",
                  "file_status_settings.cant_sync_now",
                  "file_status_settings.deleted",
                  "file_status_settings.downloaded",
                  "file_status_settings.in_queue"
                ]
              },
              "examples": {
                "request_file_query_by_type_by_file_path": {
                  "summary": "Request file query by type \"by_file_path\"",
                  "value": {
                    "job_run_id": 1,
                    "agents_ids": [
                      1,
                      2
                    ],
                    "type": "by_file_path",
                    "files": 1000,
                    "file_path": "/some/path.txt"
                  }
                },
                "request_file_query_by_type_by_statuses": {
                  "summary": "Request file query by type \"by_statuses\"",
                  "value": {
                    "job_run_id": 1,
                    "agents_ids": [
                      1,
                      2
                    ],
                    "files": 1000,
                    "period": 24,
                    "type": "by_statuses",
                    "file_regex": ".*txt",
                    "file_status_settings": {
                      "cant_sync_now": false,
                      "deleted": true,
                      "downloaded": false,
                      "in_queue": true
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateFileQuery",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/filequery/{id}": {
      "get": {
        "tags": [
          "File query"
        ],
        "summary": "Get file query by id",
        "operationId": "GetFileQuery",
        "description": "Returns file query details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "File query id"
                    },
                    "job_run_id": {
                      "type": "number",
                      "description": "Job run id. Files can be queried on active job runs only except for script jobs."
                    },
                    "status": {
                      "type": "string",
                      "description": "File query status"
                    },
                    "error": {
                      "type": "string",
                      "description": "File query error"
                    },
                    "start_time": {
                      "type": "number",
                      "description": "File query start time"
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "File query finish time"
                    },
                    "files": {
                      "type": "number",
                      "description": "Number of files to show in result. Required for type \"by_file_path\" and \"by_statuses\""
                    },
                    "file_path": {
                      "type": "string",
                      "description": "Show files by specified non-empty path. Required for type \"by_file_path\""
                    },
                    "file_regex": {
                      "type": "string",
                      "description": "Filter files by specified regex. For type \"by_statuses\""
                    },
                    "period": {
                      "type": "number",
                      "description": "Show deleted files for last N hours. Default value is 24. For type \"by_statuses\". \"file_status_settings.deleted\" must be enabled"
                    },
                    "file_status_settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Show files with specified statuses. Requried for type \"by_statuses\""
                    },
                    "file_status_settings.cant_sync_now": {
                      "type": "boolean",
                      "description": "Show files that cannot be synced now."
                    },
                    "file_status_settings.deleted": {
                      "type": "boolean",
                      "description": "Show deleted files (see \"period\" parameter)."
                    },
                    "file_status_settings.downloaded": {
                      "type": "boolean",
                      "description": "Show downloaded files"
                    },
                    "file_status_settings.in_queue": {
                      "type": "boolean",
                      "description": "Show files in download queue"
                    }
                  },
                  "required": [
                    "id",
                    "job_run_id",
                    "status",
                    "error",
                    "start_time",
                    "finish_time",
                    "files",
                    "file_status_settings.cant_sync_now",
                    "file_status_settings.deleted",
                    "file_status_settings.downloaded",
                    "file_status_settings.in_queue"
                  ]
                },
                "examples": {
                  "file_query_by_type_by_file_path": {
                    "summary": "File query by type \"by_file_path\"",
                    "value": {
                      "id": 1,
                      "job_run_id": "1",
                      "status": "in progress",
                      "error": "",
                      "start_time": 1680093540553,
                      "finish_time": 0,
                      "files": 1000,
                      "file_path": "/some/path.txt"
                    }
                  },
                  "file_query_by_type_by_statuses": {
                    "summary": "File query by type \"by_statuses\"",
                    "value": {
                      "id": 1,
                      "job_run_id": "1",
                      "status": "completed",
                      "error": "",
                      "start_time": 1680093540553,
                      "finish_time": 1680093640553,
                      "files": 1000,
                      "period": 24,
                      "file_regex": ".*txt",
                      "file_status_settings": {
                        "cant_sync_now": false,
                        "deleted": true,
                        "downloaded": false,
                        "in_queue": true
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "GetFileQuery",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/filequery/byjobrun/{jobRunId}": {
      "get": {
        "tags": [
          "File query by Job run"
        ],
        "summary": "Get file query by Job run id",
        "operationId": "GetFileQueryByJobRun",
        "description": "Returns file query details by Job run id.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "File query id"
                    },
                    "job_run_id": {
                      "type": "number",
                      "description": "Job run id. Files can be queried on active job runs only except for script jobs."
                    },
                    "status": {
                      "type": "string",
                      "description": "File query status"
                    },
                    "error": {
                      "type": "string",
                      "description": "File query error"
                    },
                    "start_time": {
                      "type": "number",
                      "description": "File query start time"
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "File query finish time"
                    },
                    "files": {
                      "type": "number",
                      "description": "Number of files to show in result. Required for type \"by_file_path\" and \"by_statuses\""
                    },
                    "file_path": {
                      "type": "string",
                      "description": "Show files by specified path. Required for type \"by_file_path\""
                    },
                    "file_regex": {
                      "type": "string",
                      "description": "Filter files by specified regex. For type \"by_statuses\""
                    },
                    "period": {
                      "type": "number",
                      "description": "Show deleted files for last N hours. Default value is 24. For type \"by_statuses\". \"file_status_settings.deleted\" must be enabled"
                    },
                    "file_status_settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Show files with specified statuses. Requried for type \"by_statuses\""
                    },
                    "file_status_settings.cant_sync_now": {
                      "type": "boolean",
                      "description": "Show files that cannot be synced now."
                    },
                    "file_status_settings.deleted": {
                      "type": "boolean",
                      "description": "Show deleted files (see \"period\" parameter)."
                    },
                    "file_status_settings.downloaded": {
                      "type": "boolean",
                      "description": "Show downloaded files"
                    },
                    "file_status_settings.in_queue": {
                      "type": "boolean",
                      "description": "Show files in queue"
                    }
                  },
                  "required": [
                    "id",
                    "job_run_id",
                    "status",
                    "error",
                    "start_time",
                    "finish_time",
                    "files",
                    "file_status_settings.cant_sync_now",
                    "file_status_settings.deleted",
                    "file_status_settings.downloaded",
                    "file_status_settings.in_queue"
                  ]
                },
                "examples": {
                  "file_query_by_type_by_file_path": {
                    "summary": "File query by type \"by_file_path\"",
                    "value": {
                      "id": 1,
                      "job_run_id": "1",
                      "status": "in progress",
                      "error": "",
                      "start_time": 1680093540553,
                      "finish_time": 0,
                      "files": 1000,
                      "file_path": "/some/path.txt"
                    }
                  },
                  "file_query_by_type_by_statuses": {
                    "summary": "File query by type \"by_statuses\"",
                    "value": {
                      "id": 1,
                      "job_run_id": "1",
                      "status": "completed",
                      "error": "",
                      "start_time": 1680093540553,
                      "finish_time": 1680093640553,
                      "files": 1000,
                      "period": 24,
                      "file_regex": ".*txt",
                      "file_status_settings": {
                        "cant_sync_now": false,
                        "deleted": true,
                        "downloaded": false,
                        "in_queue": true
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "jobRunId",
            "in": "path",
            "required": true,
            "description": "jobRunId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "GetFileQueryByJobRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/groups": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Create group",
        "operationId": "CreateGroup",
        "description": "Create new group. Group is created with global profile and bandwidth schedule",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Group name"
                  },
                  "description": {
                    "type": "string",
                    "description": "Group description"
                  },
                  "type": {
                    "type": "string",
                    "description": "Group type. Default is standard"
                  },
                  "agents": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of group agents"
                  },
                  "agents.id": {
                    "type": "number",
                    "description": "Agent id"
                  },
                  "jobs": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of group jobs NOTE: Specifying jobs in the group route is deprecated since 4.2.0. Use the update job route for this purpose."
                  },
                  "jobs.id": {
                    "type": "number",
                    "description": "Job id"
                  },
                  "jobs.permission": {
                    "type": "string",
                    "description": "Job permissions. Selective permissions (sro and srw) are allowed only for sync, file_caching and hybrid_work jobs"
                  },
                  "jobs.path": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job path"
                  },
                  "jobs.path.macro": {
                    "type": "string",
                    "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS \nNot allowed for High Availability Groups"
                  },
                  "jobs.path.linux": {
                    "type": "string",
                    "description": "Linux path"
                  },
                  "jobs.path.linux_cache": {
                    "type": "string",
                    "description": "Linux cache path. Only for caching_gateway role"
                  },
                  "jobs.path.win": {
                    "type": "string",
                    "description": "Windows path"
                  },
                  "jobs.path.osx": {
                    "type": "string",
                    "description": "OS X path"
                  },
                  "jobs.path.android": {
                    "type": "string",
                    "description": "Android path"
                  },
                  "jobs.path.xbox": {
                    "type": "string",
                    "description": "Xbox path. Only for distribution jobs"
                  },
                  "jobs.role": {
                    "type": "string",
                    "description": "Role. regular by default. Required for file_caching and hybrid_work jobs. primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                  },
                  "jobs.file_policy_id": {
                    "type": "number",
                    "description": "File policy id. Required for caching_gateway, enduser role"
                  },
                  "jobs.priority_agents": {
                    "type": "boolean",
                    "description": "Priority agents. Only for agent with primary_storage role or agent in sync job."
                  },
                  "autoadd_new_agents": {
                    "type": "boolean",
                    "description": "Deprecated, use auto_group_type instead. Automatically add new agents"
                  },
                  "auto_group_type": {
                    "type": "string",
                    "description": "Auto group type"
                  },
                  "match": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Match agents by tag"
                  },
                  "match.tag_name": {
                    "type": "string",
                    "description": "Client's tag name"
                  },
                  "match.tag_value": {
                    "type": "string",
                    "description": "Client's tag value to match, regular expression"
                  },
                  "profile_id": {
                    "type": "number",
                    "description": "Agent Profile id. If the parameter is not specified, default agents profile id is used"
                  },
                  "schedule_id": {
                    "type": "number",
                    "description": "Bandwidth schedule id. If the parameter is not specified, default bandwidth schedule id is used"
                  }
                },
                "required": [
                  "agents.id",
                  "jobs.id",
                  "jobs.permission",
                  "jobs.path",
                  "jobs.path.linux",
                  "jobs.path.linux_cache",
                  "jobs.path.win",
                  "jobs.path.osx",
                  "jobs.path.android",
                  "jobs.path.xbox",
                  "match.tag_name",
                  "match.tag_value"
                ]
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "name": "source",
                    "description": "Source group",
                    "jobs": [
                      {
                        "id": 1,
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "source",
                          "win": "source",
                          "osx": "source",
                          "xbox": "source"
                        },
                        "permission": "rw"
                      }
                    ],
                    "type": "standard",
                    "agents": [
                      {
                        "id": 1
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateGroup",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get all groups",
        "operationId": "GetGroups",
        "description": "Returns all groups in array. See get group for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetGroups",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/groups/{id}": {
      "delete": {
        "tags": [
          "Groups"
        ],
        "summary": "Delete group",
        "operationId": "DeleteGroup",
        "description": "Delete group.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Group id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteGroup",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get group by id",
        "operationId": "GetGroup",
        "description": "Returns group info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Group id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Group name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Group description"
                    },
                    "type": {
                      "type": "string",
                      "description": "Group type"
                    },
                    "access": {
                      "type": "string",
                      "description": "Group access"
                    },
                    "agents": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Group agents"
                    },
                    "agents.id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "jobs": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Group jobs NOTE: Specifying jobs in the group route is deprecated since 4.2.0. Use the update job route for this purpose."
                    },
                    "jobs.id": {
                      "type": "number",
                      "description": "Job id"
                    },
                    "jobs.permission": {
                      "type": "string",
                      "description": "Job permissions"
                    },
                    "jobs.path": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job path"
                    },
                    "jobs.path.macro": {
                      "type": "string",
                      "description": "Macro. If the parameter is not specified, custom path is used"
                    },
                    "jobs.path.linux": {
                      "type": "string",
                      "description": "Linux path"
                    },
                    "jobs.path.linux_cache": {
                      "type": "string",
                      "description": "Linux cache path. Only for caching_gateway role"
                    },
                    "jobs.path.win": {
                      "type": "string",
                      "description": "Windows path"
                    },
                    "jobs.path.osx": {
                      "type": "string",
                      "description": "OS X path"
                    },
                    "jobs.path.android": {
                      "type": "string",
                      "description": "Android path"
                    },
                    "jobs.path.xbox": {
                      "type": "string",
                      "description": "Xbox path"
                    },
                    "jobs.role": {
                      "type": "string",
                      "description": "Role"
                    },
                    "jobs.file_policy_id": {
                      "type": "number",
                      "description": "File policy id. Only for caching_gateway, enduser role"
                    },
                    "jobs.priority_agents": {
                      "type": "boolean",
                      "description": "Priority agents. Only for agent with primary_storage role or agent in sync job."
                    },
                    "jobs.lock_server": {
                      "type": "boolean",
                      "description": "Locks server. \n Is only present if group is lock server in sync, file_caching or hybrid_work job. \n Only for the case when setting.use_file_locking is true for group with primary_storage role or group in sync job. \n Can not be changed via group API. To change the value use the update job route."
                    },
                    "autoadd_new_agents": {
                      "type": "boolean",
                      "description": "Deprecated, use auto_group_type instead. Automatically add new agents."
                    },
                    "auto_group_type": {
                      "type": "string",
                      "description": "Auto group type"
                    },
                    "match": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Match agents by tag"
                    },
                    "match.tag_name": {
                      "type": "string",
                      "description": "Client's tag name"
                    },
                    "match.tag_value": {
                      "type": "string",
                      "description": "Client's tag value to match, regular expression"
                    },
                    "profile_id": {
                      "type": "number",
                      "description": "Agent Profile id"
                    },
                    "peer_id": {
                      "type": "string",
                      "description": "Group peer id (in case high_availability or gateway_scale_out type is selected)"
                    },
                    "schedule_id": {
                      "type": "number",
                      "description": "Bandwidth schedule id"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "type",
                    "access",
                    "agents",
                    "agents.id",
                    "jobs",
                    "jobs.id",
                    "jobs.permission",
                    "jobs.path",
                    "jobs.path.linux",
                    "jobs.path.linux_cache",
                    "jobs.path.win",
                    "jobs.path.osx",
                    "jobs.path.android",
                    "jobs.path.xbox",
                    "jobs.role",
                    "jobs.file_policy_id",
                    "autoadd_new_agents",
                    "auto_group_type",
                    "match",
                    "match.tag_name",
                    "match.tag_value"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "name": "HA group",
                      "description": "",
                      "profile_id": 1,
                      "schedule_id": 1,
                      "id": 2,
                      "type": "high_availability",
                      "peer_id": "EM2ZO2KYSRZYY6UPRMJYAQEK54OP4KI7",
                      "jobs": [
                        {
                          "id": 23,
                          "path": {
                            "win": "C:\\Users\\Public\\Documents\\Sync-it\\HA test",
                            "osx": "",
                            "linux": "",
                            "android": ""
                          },
                          "permission": "rw",
                          "priority_agents": true,
                          "lock_server": true,
                          "role": "regular"
                        }
                      ],
                      "agents": [
                        {
                          "id": 11
                        }
                      ],
                      "autoadd_new_agents": false,
                      "auto_group_type": "none",
                      "access": "full"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Group id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetGroup",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Groups"
        ],
        "summary": "Update group",
        "operationId": "UpdateGroup",
        "description": "Update group. Any group param listed below can be updated.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Group id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Group name"
                  },
                  "description": {
                    "type": "string",
                    "description": "Group description"
                  },
                  "agents": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of group agents"
                  },
                  "agents.id": {
                    "type": "number",
                    "description": "Agent id"
                  },
                  "jobs": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of group jobs NOTE: Specifying jobs in the group route is deprecated since 4.2.0. Use the update job route for this purpose."
                  },
                  "jobs.id": {
                    "type": "number",
                    "description": "Job id"
                  },
                  "jobs.permission": {
                    "type": "string",
                    "description": "Job permissions. Selective permissions (sro and srw) are allowed only for sync, file_caching and hybrid_work jobs"
                  },
                  "jobs.path": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job path"
                  },
                  "jobs.path.macro": {
                    "type": "string",
                    "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS \nNot allowed for High Availability Groups"
                  },
                  "jobs.path.linux": {
                    "type": "string",
                    "description": "Linux path"
                  },
                  "jobs.path.linux_cache": {
                    "type": "string",
                    "description": "Linux cache path. Only for caching_gateway role"
                  },
                  "jobs.path.win": {
                    "type": "string",
                    "description": "Windows path"
                  },
                  "jobs.path.osx": {
                    "type": "string",
                    "description": "OS X path"
                  },
                  "jobs.path.android": {
                    "type": "string",
                    "description": "Android path"
                  },
                  "jobs.path.xbox": {
                    "type": "string",
                    "description": "Xbox path. Only for distribution jobs"
                  },
                  "jobs.role": {
                    "type": "string",
                    "description": "Role. regular by default. Required for file_caching and hybrid_work jobs. primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                  },
                  "jobs.file_policy_id": {
                    "type": "number",
                    "description": "File policy id. Required for caching_gateway, enduser role"
                  },
                  "jobs.priority_agents": {
                    "type": "boolean",
                    "description": "Priority agents. Only for agent with primary_storage role or agent in sync job."
                  },
                  "autoadd_new_agents": {
                    "type": "boolean",
                    "description": "Deprecated, use auto_group_type instead. Automatically add new agents"
                  },
                  "auto_group_type": {
                    "type": "string",
                    "description": "Auto group type"
                  },
                  "match": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Match agents by tag"
                  },
                  "match.tag_name": {
                    "type": "string",
                    "description": "Client's tag name"
                  },
                  "match.tag_value": {
                    "type": "string",
                    "description": "Client's tag value to match, regular expression"
                  },
                  "profile_id": {
                    "type": "number",
                    "description": "Agent Profile id"
                  },
                  "schedule_id": {
                    "type": "number",
                    "description": "Bandwidth schedule id"
                  }
                },
                "required": [
                  "agents.id",
                  "jobs.id",
                  "jobs.permission",
                  "jobs.path",
                  "jobs.path.linux",
                  "jobs.path.linux_cache",
                  "jobs.path.win",
                  "jobs.path.osx",
                  "jobs.path.android",
                  "jobs.path.xbox",
                  "match.tag_name",
                  "match.tag_value"
                ]
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "auto_group_type": "match_on_change",
                    "match": {
                      "tag_name": "AGENT_NAME",
                      "tag_value": "Management Server"
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateGroup",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/jobs": {
      "post": {
        "tags": [
          "Jobs"
        ],
        "summary": "Create job",
        "operationId": "CreateJob",
        "description": "Create new job.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "ignore_errors",
            "in": "query",
            "required": false,
            "description": "Ignore job errors, default is false",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Job name"
                  },
                  "type": {
                    "type": "string",
                    "description": "Job type"
                  },
                  "description": {
                    "type": "string",
                    "description": "Job description"
                  },
                  "groups": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of job groups"
                  },
                  "groups.id": {
                    "type": "number",
                    "description": "Group id"
                  },
                  "group.permission": {
                    "type": "string",
                    "description": "Group permissions. Selective permissions (sro and srw) are allowed only for sync, file_caching and hybrid_work jobs"
                  },
                  "groups.path": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Group path"
                  },
                  "groups.path.macro": {
                    "type": "string",
                    "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS \nNot allowed for High Availability Groups"
                  },
                  "groups.path.linux": {
                    "type": "string",
                    "description": "Linux path"
                  },
                  "groups.path.linux_cache": {
                    "type": "string",
                    "description": "Linux cache path. Only for group with caching_gateway role"
                  },
                  "groups.path.win": {
                    "type": "string",
                    "description": "Windows path"
                  },
                  "groups.path.osx": {
                    "type": "string",
                    "description": "OS X path"
                  },
                  "groups.path.android": {
                    "type": "string",
                    "description": "Android path"
                  },
                  "groups.path.xbox": {
                    "type": "string",
                    "description": "Xbox path. Only for distribution jobs"
                  },
                  "groups.role": {
                    "type": "string",
                    "description": "Role. regular by default. Required for file_caching and hybrid_work jobs. primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                  },
                  "groups.file_policy_id": {
                    "type": "number",
                    "description": "File policy id. Required for group with caching_gateway, enduser role"
                  },
                  "groups.priority_agents": {
                    "type": "boolean",
                    "description": "Priority agents. Only for group with primary_storage role or group in sync job."
                  },
                  "groups.lock_server": {
                    "type": "boolean",
                    "description": "Locks server. Only for the case when setting.use_file_locking is true for High availability group with primary_storage role or in sync job."
                  },
                  "agents": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of job agents"
                  },
                  "agents.id": {
                    "type": "number",
                    "description": "Agent id"
                  },
                  "agents.permission": {
                    "type": "string",
                    "description": "Agent permissions. Selective permissions (sro and srw) are allowed only for sync, file_caching and hybrid_work jobs"
                  },
                  "agents.path": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Agent path"
                  },
                  "agents.path.macro": {
                    "type": "string",
                    "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS"
                  },
                  "agents.path.linux": {
                    "type": "string",
                    "description": "Linux path"
                  },
                  "agents.path.linux_cache": {
                    "type": "string",
                    "description": "Linux cache path. Only for agent with caching_gateway role"
                  },
                  "agents.path.win": {
                    "type": "string",
                    "description": "Windows path"
                  },
                  "agents.path.osx": {
                    "type": "string",
                    "description": "OS X path"
                  },
                  "agents.path.android": {
                    "type": "string",
                    "description": "Android path"
                  },
                  "agents.path.xbox": {
                    "type": "string",
                    "description": "Xbox path. Only for distribution jobs"
                  },
                  "agents.storage_config_id": {
                    "type": "number",
                    "description": "Storage connector config id If the parameter is not specified, Storage connector isn't used"
                  },
                  "agents.role": {
                    "type": "string",
                    "description": "Role. regular by default. Required for file_caching and hybrid_work jobs. primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                  },
                  "agents.file_policy_id": {
                    "type": "number",
                    "description": "File policy id. Required for agent with caching_gateway, enduser role"
                  },
                  "agents.priority_agents": {
                    "type": "boolean",
                    "description": "Priority agents. Only for agent with primary_storage role or agent in sync job."
                  },
                  "agents.lock_server": {
                    "type": "boolean",
                    "description": "Locks server. Only for the case when setting.use_file_locking is true for agent with primary_storage role or agent in sync job."
                  },
                  "triggers": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job triggers. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                  },
                  "triggers.pre_indexing": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Before file-indexing begins"
                  },
                  "triggers.pre_indexing.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.pre_indexing.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_indexing.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_indexing.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_indexing.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.pre_indexing.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_indexing.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.pre_indexing.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.pre_indexing.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.pre_indexing.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_indexing.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_indexing.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_move": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Before an agent finalizing download. Only for distribution jobs"
                  },
                  "triggers.pre_move.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.pre_move.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_move.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_move.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_move.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.pre_move.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_move.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.pre_move.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.pre_move.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.pre_move.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_move.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_move.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.post_download": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "After an agent completes downloading"
                  },
                  "triggers.post_download.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.post_download.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.post_download.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.post_download.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.post_download.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.post_download.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.post_download.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.post_download.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.post_download.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.complete": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "After all agents complete downloading"
                  },
                  "triggers.complete.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.complete.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.complete.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.complete.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.complete.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.complete.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.complete.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.complete.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.complete.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.complete.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.complete.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.complete.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "script": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Script for script job"
                  },
                  "script.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "script.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "script.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "script.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "script.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "script.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "script.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "script.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "script.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "script.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "script.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "script.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "scheduler": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Scheduler. Not applicable for sync, file_caching, hybrid_work job"
                  },
                  "scheduler.type": {
                    "type": "string",
                    "description": "Type of the scheduler"
                  },
                  "scheduler.time": {
                    "type": "number",
                    "description": "once - timestamp in seconds, daily - number of seconds since midnight, weekly - array of seconds since midnight"
                  },
                  "scheduler.every": {
                    "type": "number",
                    "description": "minutes - run every N minutes(min 5 minutes), hourly - run every N hours, daily - run every N days"
                  },
                  "scheduler.days": {
                    "type": "number",
                    "description": "weekly - array of days of week to run (encoded in numbers from 0 to 6, 0 is Sunday)"
                  },
                  "scheduler.start": {
                    "type": "number",
                    "description": "Scheduler start time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                  },
                  "scheduler.finish": {
                    "type": "number",
                    "description": "Scheduler finish time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                  },
                  "scheduler.skip_if_running": {
                    "type": "boolean",
                    "description": "Wait for job run to complete before starting new one (for all scheduler types except manually and now)"
                  },
                  "scheduler.config": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job monthly scheduler configuration"
                  },
                  "scheduler.config.offset": {
                    "type": "number",
                    "description": "Specifies the position within a month \nWhen representing a day, the value range is 1–31 \nWhen representing monday, tuesday, wednesday, thursday, friday, saturday, and sunday the value range is 1–5"
                  },
                  "scheduler.config.unit": {
                    "type": "string",
                    "description": "Specifies the day of the month or the day of week"
                  },
                  "scheduler.config.direction": {
                    "type": "string",
                    "description": "Determines the reference point within the month for scheduling. \nmonth_beginning - the offset is calculated starting from the first day of the month \nmonth_end - the offset is calculated starting from the last day of the month"
                  },
                  "scheduler.config.time": {
                    "type": "number",
                    "description": "Specifies the time of the day to run the job (minutes)"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job settings."
                  },
                  "settings.priority": {
                    "type": "number",
                    "description": "Job priority. Not applicable for script jobs. The lowest priority: 0, the highest: 10. Default value is 5"
                  },
                  "settings.use_ram_optimization": {
                    "type": "boolean",
                    "description": "Use RAM-optimized configuration. Not applicable for script jobs. Not configurable and true by default for file_caching, hybrid_work jobs. Is only supported for jobs with Agents of version 3.0.0 and newer. Default value is true"
                  },
                  "settings.reference_agent_id": {
                    "type": "number",
                    "description": "Deprecated since 4.0. Use reference_instance_type and reference_instance_id instead. The Reference Agent propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Agent is required for the jobs that synchronize file permissions. Default value is null."
                  },
                  "settings.reference_instance_id": {
                    "type": "number",
                    "description": "The Reference Instance (Agent or High Availability group) propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Instance is required for the jobs that synchronize file permissions. Default value is null"
                  },
                  "settings.reference_instance_type": {
                    "type": "string",
                    "description": "The Reference type. Agents and High Availability groups are allowed only. Default value is null (reference instance was removed or was not specified)"
                  },
                  "settings.profile": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Unique profile settings for job"
                  },
                  "settings.delete_synced_files": {
                    "type": "boolean",
                    "description": "Delete synced files. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                  },
                  "settings.delete_synced_files_ttl": {
                    "type": "number",
                    "description": "Delete synced files (in days). Only for distribution, consolidation, storage_tiering_and_archival jobs"
                  },
                  "settings.archive_by": {
                    "type": "string",
                    "description": "Criterion to archive by. Determines what field will be used settings.files_list, settings.modification_time or settings.access_time. \nOnly one selected criterion is applied. Similar settings from profile will be ignored. \nIf source is cloud storage access_time criterion must not be used. \nOnly for storage_tiering_and_archival job. \nMore information can be found here."
                  },
                  "settings.files_list": {
                    "type": "string",
                    "description": "List of regular expressions separated by a new line character \\n to match files based on their paths. \nOnly for storage_tiering_and_archival job. \nRequired and must not be empty if settings.archive_by=path</code."
                  },
                  "settings.modification_time": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Files will be matched based on time in seconds since they were last modified. \nIf only settings.modification_time.min is provided files with modification time earlier than settings.modification_time.min seconds ago will be matched. \nIf only settings.modification_time.max is provided files with modification time later than settings.modification_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with modification time between settings.modification_time.min and settings.modification_time.max will be matched. \nAt least one value must be provided. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.modification_time.max": {
                    "type": "number",
                    "description": "Max modification time in seconds."
                  },
                  "settings.modification_time.min": {
                    "type": "number",
                    "description": "Min modification time in seconds."
                  },
                  "settings.access_time": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Files will be matched based on time in seconds since they were last accessed. \nIf only settings.access_time.min is provided files with access time earlier than settings.access_time.min seconds ago will be matched. \nIf only settings.access_time.max is provided files with access time later than settings.access_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with access time between settings.access_time.min and settings.access_time.max will be matched. \nAt least one value must be provided. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.access_time.max": {
                    "type": "number",
                    "description": "Max access time in seconds."
                  },
                  "settings.access_time.min": {
                    "type": "number",
                    "description": "Min access time in seconds."
                  },
                  "settings.aws_s3_storage_class": {
                    "type": "string",
                    "description": "Setting that will be used if job's destination is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.aws_s3_retrieval_tier": {
                    "type": "string",
                    "description": "Setting that will be used if job's source is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.use_file_locking": {
                    "type": "boolean",
                    "description": "File locks setting. Only for sync, file_caching, hybrid_work jobs"
                  },
                  "settings.file_locks_timeout": {
                    "type": "number",
                    "description": "File locks timeout. \nApplicable only if setting.use_file_locking is true"
                  },
                  "settings.file_locks_sync_interval": {
                    "type": "number",
                    "description": "File locks sync interval. \nApplicable only if setting.use_file_locking is true"
                  },
                  "settings.file_locks_ignore_list": {
                    "type": "string",
                    "description": "File locks ignore list. \nApplicable only if setting.use_file_locking is true"
                  },
                  "settings.file_locks_allowed_access_when_no_server": {
                    "type": "string",
                    "description": "File locks access to files when no access to locks server. \nApplicable only if setting.use_file_locking is true."
                  },
                  "settings.map_folder_to_driver": {
                    "type": "string",
                    "description": "Map a local folder to a drive letter, applicable only for hybrid jobs on Windows end-users starting from version 4.2.0. \nEnsure that Agents are not assigned the same drive letter in multiple jobs. \nThe drive letter should follow the format X:. To unmap the folder, provide an empty string"
                  },
                  "use_new_cipher": {
                    "type": "boolean",
                    "description": "Use new version of cipher suite. Not configurable and true by default for file_caching, hybrid_work jobs."
                  },
                  "post_command_local_time": {
                    "type": "number",
                    "description": "Local Agent time after an Agent run completes downloading trigger (in seconds)"
                  },
                  "pre_move_command_local_time": {
                    "type": "number",
                    "description": "Local Agent time after an Agent run before finalizing download trigger (in seconds)"
                  },
                  "profile_id": {
                    "type": "number",
                    "description": "Job Profile id. If the parameter is not specified, default jobs profile id is used. Ignored if unique profile settings for job are specified"
                  },
                  "notifications": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "List of job notifications"
                  },
                  "notifications.destinations": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of notification destinations. One of email, user_id, web_hook_id is required"
                  },
                  "notifications.destinations.email": {
                    "type": "string",
                    "description": "Email to send notifications"
                  },
                  "notifications.destinations.user_id": {
                    "type": "number",
                    "description": "Id of user to send notifications"
                  },
                  "notifications.destinations.web_hook_id": {
                    "type": "number",
                    "description": "Id of webhook to send notifications"
                  },
                  "notifications.trigger": {
                    "type": "string",
                    "description": "Notification trigger."
                  },
                  "notifications.settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Notification settings"
                  },
                  "notifications.settings.error_code": {
                    "type": "string",
                    "description": "Error code to trigger notification. Is null in case of notification is configured for any error code. Only for JOB_RUN_ERROR trigger"
                  },
                  "notifications.settings.notify_after_error_timeout": {
                    "type": "boolean",
                    "description": "Trigger notification after error timeout. Only for JOB_RUN_ERROR trigger"
                  },
                  "notifications.settings.error_timeout": {
                    "type": "number",
                    "description": "Error timeout (seconds). Only for JOB_RUN_ERROR trigger. Minimum value is 1 minute"
                  },
                  "notifications.settings.notify_on_error_remove": {
                    "type": "boolean",
                    "description": "Notify when error is resolved. Only for JOB_RUN_ERROR trigger"
                  },
                  "notifications.settings.complete_timeout": {
                    "type": "number",
                    "description": "Send notification if job run isn't complete within time wait period (seconds). Only for JOB_RUN_NOT_COMPLETE trigger. Minimum value is 1 minute"
                  },
                  "notifications.settings.dont_send_if_no_data_transferred": {
                    "type": "boolean",
                    "description": "Skip notice if jobs did not transfer files. Only for JOB_RUN_FINISHED trigger"
                  }
                },
                "required": [
                  "name",
                  "type",
                  "groups",
                  "groups.id",
                  "group.permission",
                  "groups.path",
                  "groups.path.linux",
                  "groups.path.linux_cache",
                  "groups.path.win",
                  "groups.path.osx",
                  "groups.path.android",
                  "groups.path.xbox",
                  "agents",
                  "agents.id",
                  "agents.permission",
                  "agents.path",
                  "agents.path.linux",
                  "agents.path.linux_cache",
                  "agents.path.win",
                  "agents.path.osx",
                  "agents.path.android",
                  "agents.path.xbox",
                  "triggers.pre_indexing.linux",
                  "triggers.pre_indexing.linux.script",
                  "triggers.pre_indexing.win",
                  "triggers.pre_indexing.win.script",
                  "triggers.pre_indexing.osx",
                  "triggers.pre_indexing.osx.script",
                  "triggers.pre_move.linux",
                  "triggers.pre_move.linux.script",
                  "triggers.pre_move.win",
                  "triggers.pre_move.win.script",
                  "triggers.pre_move.osx",
                  "triggers.pre_move.osx.script",
                  "triggers.post_download.linux",
                  "triggers.post_download.linux.script",
                  "triggers.post_download.win",
                  "triggers.post_download.win.script",
                  "triggers.post_download.osx",
                  "triggers.post_download.osx.script",
                  "triggers.complete.linux",
                  "triggers.complete.linux.script",
                  "triggers.complete.win",
                  "triggers.complete.win.script",
                  "triggers.complete.osx",
                  "triggers.complete.osx.script",
                  "script.linux",
                  "script.linux.script",
                  "script.win",
                  "script.win.script",
                  "script.osx",
                  "script.osx.script",
                  "scheduler.type",
                  "scheduler.config.offset",
                  "scheduler.config.unit",
                  "scheduler.config.direction",
                  "scheduler.config.time",
                  "notifications.destinations",
                  "notifications.destinations.email",
                  "notifications.destinations.user_id",
                  "notifications.destinations.web_hook_id",
                  "notifications.trigger",
                  "notifications.settings",
                  "notifications.settings.error_code",
                  "notifications.settings.notify_after_error_timeout",
                  "notifications.settings.notify_on_error_remove",
                  "notifications.settings.complete_timeout",
                  "notifications.settings.dont_send_if_no_data_transferred"
                ]
              },
              "examples": {
                "distribution_job_example": {
                  "summary": "Distribution job example:",
                  "value": {
                    "name": "DistributionJob",
                    "description": "Job description",
                    "type": "distribution",
                    "triggers": {
                      "post_download": {
                        "linux": {
                          "script": "echo Download completed"
                        },
                        "win": {
                          "script": "echo Download completed"
                        },
                        "osx": {
                          "script": "echo Download completed"
                        },
                        "android": {
                          "script": "echo Download completed"
                        },
                        "xbox": {
                          "script": "install"
                        }
                      }
                    },
                    "groups": [
                      {
                        "id": 1,
                        "permission": "rw",
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "source",
                          "win": "source",
                          "osx": "source",
                          "android": "source",
                          "xbox": "source"
                        }
                      },
                      {
                        "id": 2,
                        "permission": "ro",
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "destination",
                          "win": "destination",
                          "osx": "destination",
                          "android": "destination",
                          "xbox": "destination"
                        }
                      }
                    ],
                    "scheduler": {
                      "type": "weekly",
                      "days": [
                        0,
                        2,
                        4,
                        6
                      ],
                      "time": [
                        3600,
                        7200
                      ],
                      "start": 1489750000,
                      "finish": 1489870000,
                      "skip_if_running": false
                    },
                    "settings": {
                      "priority": 5,
                      "use_ram_optimization": true
                    },
                    "notifications": [
                      {
                        "trigger": "JOB_RUN_ERROR",
                        "destinations": [
                          {
                            "user_id": 4
                          },
                          {
                            "web_hook_id": 1
                          },
                          {
                            "email": "test@test.com"
                          }
                        ],
                        "settings": {
                          "error_code": "SE_PRE_COMMAND_FAILED",
                          "notify_after_error_timeout": true,
                          "error_timeout": 600,
                          "notify_on_error_remove": false
                        }
                      }
                    ]
                  }
                },
                "consolidation_job_example": {
                  "summary": "Consolidation job example:",
                  "value": {
                    "name": "ConsolidationJob",
                    "description": "Job description",
                    "type": "consolidation",
                    "triggers": {
                      "post_download": {
                        "linux": {
                          "script": "echo Download completed"
                        },
                        "win": {
                          "script": "echo Download completed"
                        },
                        "osx": {
                          "script": "echo Download completed"
                        },
                        "android": {
                          "script": "echo Download completed"
                        }
                      }
                    },
                    "agents": [
                      {
                        "id": 1,
                        "permission": "rw",
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "source",
                          "win": "source",
                          "osx": "source",
                          "android": "source"
                        },
                        "storage_config_id": 1
                      },
                      {
                        "id": 2,
                        "permission": "ro",
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "destination/%SRC:AGENT_NAME%",
                          "win": "destination/%SRC:AGENT_NAME%",
                          "osx": "destination/%SRC:AGENT_NAME%",
                          "android": "destination/%SRC:AGENT_NAME%"
                        },
                        "storage_config_id": 2
                      }
                    ],
                    "scheduler": {
                      "type": "hourly",
                      "every": 10,
                      "start": 1489750000,
                      "finish": 1489870000,
                      "skip_if_running": true
                    },
                    "settings": {
                      "priority": 5,
                      "use_ram_optimization": true
                    },
                    "profile_id": 2,
                    "notifications": [
                      {
                        "trigger": "JOB_RUN_ERROR",
                        "destinations": [
                          {
                            "user_id": 4
                          },
                          {
                            "web_hook_id": 1
                          },
                          {
                            "email": "test@test.com"
                          }
                        ],
                        "settings": {
                          "error_code": "SE_PRE_COMMAND_FAILED",
                          "notify_after_error_timeout": true,
                          "error_timeout": 600,
                          "notify_on_error_remove": false
                        }
                      }
                    ]
                  }
                },
                "script_job_example": {
                  "summary": "Script job example:",
                  "value": {
                    "name": "ScriptJob",
                    "description": "Job description",
                    "type": "script",
                    "script": {
                      "linux": {
                        "script": "echo Running linux script"
                      },
                      "win": {
                        "script": "echo Running windows script"
                      },
                      "osx": {
                        "script": "echo Running mac script"
                      },
                      "android": {
                        "script": "echo Running android script"
                      }
                    },
                    "groups": [
                      {
                        "id": 1,
                        "permission": "rw",
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "dir",
                          "win": "dir",
                          "osx": "dir",
                          "android": "dir"
                        }
                      }
                    ],
                    "scheduler": {
                      "type": "daily",
                      "every": 2,
                      "time": 36000,
                      "start": 1489750000,
                      "finish": 1489870000
                    },
                    "notifications": [
                      {
                        "trigger": "JOB_RUN_ERROR",
                        "destinations": [
                          {
                            "user_id": 4
                          },
                          {
                            "web_hook_id": 1
                          },
                          {
                            "email": "test@test.com"
                          }
                        ],
                        "settings": {
                          "error_code": "SE_PRE_COMMAND_FAILED",
                          "notify_after_error_timeout": true,
                          "error_timeout": 600,
                          "notify_on_error_remove": false
                        }
                      }
                    ]
                  }
                },
                "sync_job_example": {
                  "summary": "Sync job example:",
                  "value": {
                    "name": "SyncJob",
                    "description": "Job description",
                    "type": "sync",
                    "groups": [
                      {
                        "id": 1,
                        "permission": "rw",
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "source",
                          "win": "source",
                          "osx": "source",
                          "android": "source"
                        }
                      },
                      {
                        "id": 2,
                        "permission": "sro",
                        "path": {
                          "macro": "%FOLDERS_STORAGE%",
                          "linux": "destination",
                          "win": "destination",
                          "osx": "destination",
                          "android": "destination"
                        }
                      }
                    ],
                    "use_new_cipher": false,
                    "settings": {
                      "priority": 5,
                      "use_ram_optimization": true,
                      "reference_instance_id": 1,
                      "reference_instance_type": "agent"
                    },
                    "profile_id": 2,
                    "notifications": [
                      {
                        "trigger": "JOB_RUN_FINISHED",
                        "destinations": [
                          {
                            "user_id": 4
                          },
                          {
                            "web_hook_id": 1
                          },
                          {
                            "email": "test@test.com"
                          }
                        ],
                        "settings": {
                          "dont_send_if_no_data_transferred": true
                        }
                      }
                    ]
                  }
                },
                "file_caching_job_example": {
                  "summary": "File Caching job example:",
                  "value": {
                    "name": "FileCachingJob",
                    "description": "Job description",
                    "type": "file_caching",
                    "groups": [
                      {
                        "id": 1,
                        "permission": "rw",
                        "path": {
                          "linux": "/home/vagrant/PrimaryStorage",
                          "win": ""
                        },
                        "role": "primary_storage",
                        "priority_agents": true
                      },
                      {
                        "id": 2,
                        "permission": "srw",
                        "path": {
                          "linux": "/home/vagrant/data",
                          "linux_cache": "/home/vagrant/data_cache",
                          "win": ""
                        },
                        "file_policy_id": 1,
                        "role": "caching_gateway"
                      }
                    ],
                    "settings": {
                      "priority": 5,
                      "reference_instance_id": null
                    },
                    "profile_id": 2
                  }
                },
                "hybrid_work_job_example": {
                  "summary": "Hybrid Work job example:",
                  "value": {
                    "name": "HybridWorkJob",
                    "description": "Job description",
                    "type": "hybrid_work",
                    "agents": [
                      {
                        "id": 1,
                        "permission": "rw",
                        "path": {
                          "linux": "/home/vagrant/PrimaryStorage",
                          "win": ""
                        },
                        "role": "primary_storage",
                        "priority_agents": true
                      },
                      {
                        "id": 2,
                        "permission": "sro",
                        "path": {
                          "linux": "/home/vagrant/data",
                          "osx": "",
                          "win": ""
                        },
                        "file_policy_id": 1,
                        "role": "enduser"
                      }
                    ],
                    "settings": {
                      "priority": 5,
                      "reference_instance_id": null
                    },
                    "profile_id": 2
                  }
                },
                "storage_tiering_and_archival_job_example": {
                  "summary": "Storage Tiering and Archival Job example:",
                  "value": {
                    "name": "New Storage Tiering and Archival Job",
                    "description": "new job",
                    "settings": {
                      "priority": 5,
                      "use_ram_optimization": true,
                      "delete_synced_files": false,
                      "delete_synced_files_ttl": 30,
                      "archive_by": "modification_time",
                      "modification_time": {
                        "min": 2592000
                      },
                      "aws_s3_storage_class": "standard",
                      "aws_s3_retrieval_tier": "standard"
                    },
                    "profile_id": 2,
                    "groups": [],
                    "agents": [
                      {
                        "id": 3,
                        "path": {
                          "win": "C:\\AGENTS\\folder\\New folder",
                          "osx": "C:\\AGENTS\\folder\\New folder",
                          "linux": "C:\\AGENTS\\folder\\New folder",
                          "android": "C:\\AGENTS\\folder\\New folder"
                        },
                        "permission": "rw",
                        "role": "regular"
                      },
                      {
                        "id": 4,
                        "path": {
                          "win": "C:\\AGENTS\\folder\\New folder",
                          "osx": "C:\\AGENTS\\folder\\New folder",
                          "linux": "C:\\AGENTS\\folder\\New folder",
                          "android": "C:\\AGENTS\\folder\\New folder"
                        },
                        "permission": "ro",
                        "role": "regular"
                      }
                    ],
                    "type": "storage_tiering_and_archival",
                    "use_new_cipher": true,
                    "scheduler": {
                      "type": "manually"
                    },
                    "notifications": []
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateJob",
        "x-apidocVersion": "2.0.0"
      },
      "delete": {
        "tags": [
          "Jobs"
        ],
        "summary": "Delete jobs by ids",
        "operationId": "DeleteJobsByIds",
        "description": "Delete jobs by ids.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Remove jobs by ids (comma-separated list of numbers)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "DeleteJobsByIds",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get all jobs",
        "operationId": "GetJobs",
        "description": "Returns all jobs in array. See get job for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetJobs",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/jobs/{id}": {
      "delete": {
        "tags": [
          "Jobs"
        ],
        "summary": "Delete job",
        "operationId": "DeleteJob",
        "description": "Delete job.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteJob",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get job by id",
        "operationId": "GetJob",
        "description": "Returns job info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "access": {
                      "type": "string",
                      "description": "Access"
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Job creation time (timestamp in seconds)"
                    },
                    "created_by": {
                      "type": "string",
                      "description": "Name of the user who created the job"
                    },
                    "use_new_cipher": {
                      "type": "boolean",
                      "description": "New version of cipher suite. Not applicable for script job"
                    },
                    "total_transferred": {
                      "type": "number",
                      "description": "Total bytes transferred. Not applicable for script job"
                    },
                    "groups": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Array of job groups"
                    },
                    "groups.id": {
                      "type": "number",
                      "description": "Group id"
                    },
                    "groups.permission": {
                      "type": "string",
                      "description": "Group permissions"
                    },
                    "groups.path": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Group path"
                    },
                    "groups.path.macro": {
                      "type": "string",
                      "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS"
                    },
                    "groups.path.linux": {
                      "type": "string",
                      "description": "Linux path"
                    },
                    "groups.path.linux_cache": {
                      "type": "string",
                      "description": "Linux cache path. Only for group with caching_gateway role"
                    },
                    "groups.path.win": {
                      "type": "string",
                      "description": "Windows path"
                    },
                    "groups.path.osx": {
                      "type": "string",
                      "description": "OS X path"
                    },
                    "groups.path.android": {
                      "type": "string",
                      "description": "Android path"
                    },
                    "groups.path.xbox": {
                      "type": "string",
                      "description": "Xbox path. Only for distribution jobs"
                    },
                    "groups.role": {
                      "type": "string",
                      "description": "Role. primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                    },
                    "groups.file_policy_id": {
                      "type": "number",
                      "description": "File policy id. Only for group with caching_gateway, enduser role"
                    },
                    "groups.priority_agents": {
                      "type": "boolean",
                      "description": "Priority agents. Only for group with primary_storage role or group in sync job."
                    },
                    "groups.lock_server": {
                      "type": "boolean",
                      "description": "Locks server. Only for the case when setting.use_file_locking is true for High availability group with primary_storage role or in sync job."
                    },
                    "agents": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Array of job agents"
                    },
                    "agents.id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "agents.permission": {
                      "type": "string",
                      "description": "Agent permissions"
                    },
                    "agents.path": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Agent path"
                    },
                    "agents.path.macro": {
                      "type": "string",
                      "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS"
                    },
                    "agents.path.linux": {
                      "type": "string",
                      "description": "Linux path"
                    },
                    "agents.path.linux_cache": {
                      "type": "string",
                      "description": "Linux cache path. Only for agent with caching_gateway role"
                    },
                    "agents.path.win": {
                      "type": "string",
                      "description": "Windows path"
                    },
                    "agents.path.osx": {
                      "type": "string",
                      "description": "OS X path"
                    },
                    "agents.path.android": {
                      "type": "string",
                      "description": "Android path"
                    },
                    "agents.path.xbox": {
                      "type": "string",
                      "description": "Xbox path. Only for distribution jobs"
                    },
                    "agents.storage_config_id": {
                      "type": "number",
                      "description": "Storage connector config id. \nIf the parameter is not specified, Storage connector isn't used"
                    },
                    "agents.role": {
                      "type": "string",
                      "description": "Role primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                    },
                    "agents.file_policy_id": {
                      "type": "number",
                      "description": "File policy id. Only for agent with caching_gateway, enduser role"
                    },
                    "agents.priority_agents": {
                      "type": "boolean",
                      "description": "Priority agents. Only for agent with primary_storage role or agent in sync job."
                    },
                    "agents.lock_server": {
                      "type": "boolean",
                      "description": "Locks server. Only for the case when setting.use_file_locking is true for agent with primary_storage role or agent in sync job."
                    },
                    "notifications": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of job notifications"
                    },
                    "notifications.id": {
                      "type": "number",
                      "description": "Notification id"
                    },
                    "notifications.destinations": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Array of notification destinations"
                    },
                    "notifications.destinations.email": {
                      "type": "string",
                      "description": "Email to send notifications"
                    },
                    "notifications.destinations.user_id": {
                      "type": "number",
                      "description": "Id of user to send notifications"
                    },
                    "notifications.destinations.web_hook_id": {
                      "type": "number",
                      "description": "Id of webhook to send notifications"
                    },
                    "notifications.trigger": {
                      "type": "string",
                      "description": "Notification trigger."
                    },
                    "notifications.settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Notification settings"
                    },
                    "notifications.settings.error_code": {
                      "type": "string",
                      "description": "Error code to trigger notification. Is null in case of notification is configured for any error code. Only for JOB_RUN_ERROR trigger"
                    },
                    "notifications.settings.notify_after_error_timeout": {
                      "type": "boolean",
                      "description": "Trigger notification after error timeout. Only for JOB_RUN_ERROR trigger"
                    },
                    "notifications.settings.error_timeout": {
                      "type": "number",
                      "description": "Error timeout (seconds). Only for JOB_RUN_ERROR trigger. Minimum value is 1 minute"
                    },
                    "notifications.settings.notify_on_error_remove": {
                      "type": "boolean",
                      "description": "Notify when error is resolved. Only for JOB_RUN_ERROR trigger"
                    },
                    "notifications.settings.complete_timeout": {
                      "type": "number",
                      "description": "Send notification if job run isn't complete within time wait period (seconds). Only for JOB_RUN_NOT_COMPLETE trigger. Minimum value is 1 minute"
                    },
                    "notifications.settings.dont_send_if_no_data_transferred": {
                      "type": "boolean",
                      "description": "Skip notice if jobs did not transfer files. Only for JOB_RUN_FINISHED trigger"
                    },
                    "script": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Script for script job"
                    },
                    "script.linux": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Linux command"
                    },
                    "script.linux.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "script.linux.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "script.linux.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "script.win": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Windows command"
                    },
                    "script.win.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "script.win.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "script.win.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "script.osx": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Mac command"
                    },
                    "script.osx.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "script.osx.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "script.osx.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "script.android": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Android command"
                    },
                    "script.android.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "script.android.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "script.android.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job triggers. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                    },
                    "triggers.pre_indexing": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Before file-indexing begins"
                    },
                    "triggers.pre_indexing.linux": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Linux command"
                    },
                    "triggers.pre_indexing.linux.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_indexing.linux.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_indexing.linux.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_indexing.win": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Windows command"
                    },
                    "triggers.pre_indexing.win.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_indexing.win.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_indexing.win.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_indexing.osx": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Mac command"
                    },
                    "triggers.pre_indexing.osx.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_indexing.osx.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_indexing.osx.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_indexing.android": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Android command"
                    },
                    "triggers.pre_indexing.android.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_indexing.android.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_indexing.android.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_move": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Before an agent finalizing download. Only for distribution jobs"
                    },
                    "triggers.pre_move.linux": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Linux command"
                    },
                    "triggers.pre_move.linux.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_move.linux.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_move.linux.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_move.win": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Windows command"
                    },
                    "triggers.pre_move.win.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_move.win.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_move.win.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_move.osx": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Mac command"
                    },
                    "triggers.pre_move.osx.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_move.osx.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_move.osx.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.pre_move.android": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Android command"
                    },
                    "triggers.pre_move.android.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.pre_move.android.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.pre_move.android.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.post_download": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "After an agent completes downloading"
                    },
                    "triggers.post_download.linux": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Linux command"
                    },
                    "triggers.post_download.linux.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.post_download.linux.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.post_download.linux.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.post_download.win": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Windows command"
                    },
                    "triggers.post_download.win.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.post_download.win.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.post_download.win.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.post_download.osx": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Mac command"
                    },
                    "triggers.post_download.osx.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.post_download.osx.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.post_download.osx.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.post_download.android": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Android command"
                    },
                    "triggers.post_download.android.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.post_download.android.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.post_download.android.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.post_download.xbox": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Xbox command"
                    },
                    "triggers.post_download.xbox.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.post_download.xbox.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.post_download.xbox.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.complete": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "After all agents complete downloading"
                    },
                    "triggers.complete.linux": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Linux command"
                    },
                    "triggers.complete.linux.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.complete.linux.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.complete.linux.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.complete.win": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Windows command"
                    },
                    "triggers.complete.win.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.complete.win.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.complete.win.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.complete.osx": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Mac command"
                    },
                    "triggers.complete.osx.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.complete.osx.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.complete.osx.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "triggers.complete.android": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Android command"
                    },
                    "triggers.complete.android.script": {
                      "type": "string",
                      "description": "Command"
                    },
                    "triggers.complete.android.shell": {
                      "type": "string",
                      "description": "Shell"
                    },
                    "triggers.complete.android.ext": {
                      "type": "string",
                      "description": "Script file extension"
                    },
                    "id": {
                      "type": "number",
                      "description": "Job id"
                    },
                    "type": {
                      "type": "string",
                      "description": "Job type"
                    },
                    "name": {
                      "type": "string",
                      "description": "Job name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Job description"
                    },
                    "scheduler": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Scheduler. Not applicable for sync, file_caching, hybrid_work job"
                    },
                    "scheduler.type": {
                      "type": "string",
                      "description": "Type of the scheduler"
                    },
                    "scheduler.time": {
                      "type": "number",
                      "description": "once - timestamp in seconds, daily - number of seconds since midnight, weekly - array of seconds since midnight"
                    },
                    "scheduler.every": {
                      "type": "number",
                      "description": "minutes - run every N minutes(min 5 minutes), hourly - run every N hours, daily - run every N days"
                    },
                    "scheduler.days": {
                      "type": "number",
                      "description": "weekly - array of days of week to run (encoded in numbers from 0 to 6, 0 is Sunday)"
                    },
                    "scheduler.start": {
                      "type": "number",
                      "description": "Scheduler start time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                    },
                    "scheduler.finish": {
                      "type": "number",
                      "description": "Scheduler finish time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                    },
                    "scheduler.config": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job monthly scheduler configuration"
                    },
                    "scheduler.config.offset": {
                      "type": "number",
                      "description": "Specifies the position within a month \nWhen representing a day, the value range is 1–31 \nWhen representing monday, tuesday, wednesday, thursday, friday, saturday, and sunday the value range is 1–5"
                    },
                    "scheduler.config.unit": {
                      "type": "string",
                      "description": "Specifies the day of the month or the day of week"
                    },
                    "scheduler.config.direction": {
                      "type": "string",
                      "description": "Determines the reference point within the month for scheduling. \nmonth_beginning - the offset is calculated starting from the first day of the month \nmonth_end - the offset is calculated starting from the last day of the month"
                    },
                    "scheduler.config.time": {
                      "type": "number",
                      "description": "Specifies the time of the day to run the job (minutes)"
                    },
                    "scheduler.skip_if_running": {
                      "type": "boolean",
                      "description": "Wait for job run to complete before starting new one (for all scheduler types except manually and now)"
                    },
                    "scheduler.next_schedule_run_time": {
                      "type": "number",
                      "description": "Next start job time (in seconds) applied by scheduler, -1 means no next schedule run"
                    },
                    "settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job settings."
                    },
                    "settings.priority": {
                      "type": "number",
                      "description": "Job priority. Not applicable for script jobs. The lowest priority: 0, the highest: 10"
                    },
                    "settings.use_ram_optimization": {
                      "type": "boolean",
                      "description": "Use RAM-optimized configuration. Not applicable for script jobs"
                    },
                    "settings.reference_instance_id": {
                      "type": "number",
                      "description": "The Reference Instance (Agent or High Availability group) propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Instance is required for the jobs that synchronize file permissions. Setting's value is -1 in case Reference Instance was deleted from the Job"
                    },
                    "settings.reference_instance_type": {
                      "type": "string",
                      "description": "The Reference Instance type. Agents and High Availability groups are allowed only. Default value is null (reference instance was removed or was not specified)"
                    },
                    "settings.reference_agent_id": {
                      "type": "number",
                      "description": "Deprecated since 4.0. Use reference_instance_type and reference_instance_id instead. The Reference Agent propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Agent is required for the jobs that synchronize file permissions. Default value is null"
                    },
                    "settings.profile": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Unique profile settings for job"
                    },
                    "settings.delete_synced_files": {
                      "type": "boolean",
                      "description": "Delete synced files. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                    },
                    "settings.delete_synced_files_ttl": {
                      "type": "number",
                      "description": "Delete synced files (in days). Only for distribution, consolidation, storage_tiering_and_archival jobs"
                    },
                    "settings.archive_by": {
                      "type": "string",
                      "description": "Criterion to archive by. Determines what field will be used settings.files_list, settings.modification_time or settings.access_time. \nOnly one selected criterion is applied. Similar settings from profile will be ignored. \nOnly for storage_tiering_and_archival job. \nMore information can be found here."
                    },
                    "settings.files_list": {
                      "type": "string",
                      "description": "List of regular expressions separated by a new line character \\n to match files based on their paths. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.modification_time": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Files will be matched based on time in seconds since they were last modified. \nIf only settings.modification_time.min is provided files with modification time earlier than settings.modification_time.min seconds ago will be matched. \nIf only settings.modification_time.max is provided files with modification time later than settings.modification_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with modification time between settings.modification_time.min and settings.modification_time.max will be matched. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.modification_time.max": {
                      "type": "number",
                      "description": "Max modification time in seconds."
                    },
                    "settings.modification_time.min": {
                      "type": "number",
                      "description": "Min modification time in seconds."
                    },
                    "settings.access_time": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Files will be matched based on time in seconds since they were last accessed. \nIf only settings.access_time.min is provided files with access time earlier than settings.access_time.min seconds ago will be matched. \nIf only settings.access_time.max is provided files with access time later than settings.access_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with access time between settings.access_time.min and settings.access_time.max will be matched. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.access_time.max": {
                      "type": "number",
                      "description": "Max access time in seconds."
                    },
                    "settings.access_time.min": {
                      "type": "number",
                      "description": "Min access time in seconds."
                    },
                    "settings.aws_s3_storage_class": {
                      "type": "string",
                      "description": "Setting that will be used if job's destination is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.aws_s3_retrieval_tier": {
                      "type": "string",
                      "description": "Setting that will be used if job's source is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                    },
                    "settings.use_file_locking": {
                      "type": "boolean",
                      "description": "File locks setting. Only for sync, file_caching, hybrid_work jobs"
                    },
                    "settings.file_locks_timeout": {
                      "type": "number",
                      "description": "File locks timeout. \nApplicable only if setting.use_file_locking is true"
                    },
                    "settings.file_locks_sync_interval": {
                      "type": "number",
                      "description": "File locks sync interval. \nApplicable only if setting.use_file_locking is true"
                    },
                    "settings.file_locks_ignore_list": {
                      "type": "string",
                      "description": "File locks ignore list. \nApplicable only if setting.use_file_locking is true"
                    },
                    "settings.file_locks_allowed_access_when_no_server": {
                      "type": "string",
                      "description": "File locks access to files when no access to locks server. \nApplicable only if setting.use_file_locking is true."
                    },
                    "settings.map_folder_to_drive": {
                      "type": "string",
                      "description": "Map a local folder to a drive letter, applicable only for hybrid jobs on Windows end-users starting from version 4.2.0."
                    },
                    "errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of job errors"
                    },
                    "errors.code": {
                      "type": "number",
                      "description": "Error code (deprecated since 2.9.1)"
                    },
                    "errors.code_str": {
                      "type": "string",
                      "description": "Error string code"
                    },
                    "errors.message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "last_start_time": {
                      "type": "number",
                      "description": "Last time in seconds when the job was started"
                    },
                    "post_command_local_time": {
                      "type": "number",
                      "description": "Local Agent time after an Agent run completes downloading trigger (in seconds)"
                    },
                    "pre_move_command_local_time": {
                      "type": "number",
                      "description": "Local Agent time after an Agent run before finalizing download trigger (in seconds)"
                    },
                    "profile_id": {
                      "type": "number",
                      "description": "Job profile id"
                    }
                  },
                  "required": [
                    "access",
                    "created_at",
                    "created_by",
                    "groups",
                    "groups.id",
                    "groups.permission",
                    "groups.path",
                    "groups.path.linux",
                    "groups.path.linux_cache",
                    "groups.path.win",
                    "groups.path.osx",
                    "groups.path.android",
                    "groups.path.xbox",
                    "groups.role",
                    "groups.file_policy_id",
                    "groups.priority_agents",
                    "groups.lock_server",
                    "agents",
                    "agents.id",
                    "agents.permission",
                    "agents.path",
                    "agents.path.linux",
                    "agents.path.linux_cache",
                    "agents.path.win",
                    "agents.path.osx",
                    "agents.path.android",
                    "agents.path.xbox",
                    "agents.storage_config_id",
                    "agents.role",
                    "agents.file_policy_id",
                    "agents.priority_agents",
                    "agents.lock_server",
                    "notifications",
                    "notifications.id",
                    "notifications.destinations",
                    "notifications.destinations.email",
                    "notifications.destinations.user_id",
                    "notifications.destinations.web_hook_id",
                    "notifications.trigger",
                    "notifications.settings",
                    "notifications.settings.error_code",
                    "notifications.settings.notify_after_error_timeout",
                    "notifications.settings.notify_on_error_remove",
                    "notifications.settings.complete_timeout",
                    "notifications.settings.dont_send_if_no_data_transferred",
                    "script.linux",
                    "script.linux.script",
                    "script.linux.shell",
                    "script.linux.ext",
                    "script.win",
                    "script.win.script",
                    "script.win.shell",
                    "script.win.ext",
                    "script.osx",
                    "script.osx.script",
                    "script.osx.shell",
                    "script.osx.ext",
                    "script.android",
                    "script.android.script",
                    "script.android.shell",
                    "script.android.ext",
                    "triggers.pre_indexing.linux",
                    "triggers.pre_indexing.linux.script",
                    "triggers.pre_indexing.linux.shell",
                    "triggers.pre_indexing.linux.ext",
                    "triggers.pre_indexing.win",
                    "triggers.pre_indexing.win.script",
                    "triggers.pre_indexing.win.shell",
                    "triggers.pre_indexing.win.ext",
                    "triggers.pre_indexing.osx",
                    "triggers.pre_indexing.osx.script",
                    "triggers.pre_indexing.osx.shell",
                    "triggers.pre_indexing.osx.ext",
                    "triggers.pre_indexing.android",
                    "triggers.pre_indexing.android.script",
                    "triggers.pre_indexing.android.shell",
                    "triggers.pre_indexing.android.ext",
                    "triggers.pre_move.linux",
                    "triggers.pre_move.linux.script",
                    "triggers.pre_move.linux.shell",
                    "triggers.pre_move.linux.ext",
                    "triggers.pre_move.win",
                    "triggers.pre_move.win.script",
                    "triggers.pre_move.win.shell",
                    "triggers.pre_move.win.ext",
                    "triggers.pre_move.osx",
                    "triggers.pre_move.osx.script",
                    "triggers.pre_move.osx.shell",
                    "triggers.pre_move.osx.ext",
                    "triggers.pre_move.android",
                    "triggers.pre_move.android.script",
                    "triggers.pre_move.android.shell",
                    "triggers.pre_move.android.ext",
                    "triggers.post_download.linux",
                    "triggers.post_download.linux.script",
                    "triggers.post_download.linux.shell",
                    "triggers.post_download.linux.ext",
                    "triggers.post_download.win",
                    "triggers.post_download.win.script",
                    "triggers.post_download.win.shell",
                    "triggers.post_download.win.ext",
                    "triggers.post_download.osx",
                    "triggers.post_download.osx.script",
                    "triggers.post_download.osx.shell",
                    "triggers.post_download.osx.ext",
                    "triggers.post_download.android",
                    "triggers.post_download.android.script",
                    "triggers.post_download.android.shell",
                    "triggers.post_download.android.ext",
                    "triggers.post_download.xbox",
                    "triggers.post_download.xbox.script",
                    "triggers.post_download.xbox.shell",
                    "triggers.post_download.xbox.ext",
                    "triggers.complete.linux",
                    "triggers.complete.linux.script",
                    "triggers.complete.linux.shell",
                    "triggers.complete.linux.ext",
                    "triggers.complete.win",
                    "triggers.complete.win.script",
                    "triggers.complete.win.shell",
                    "triggers.complete.win.ext",
                    "triggers.complete.osx",
                    "triggers.complete.osx.script",
                    "triggers.complete.osx.shell",
                    "triggers.complete.osx.ext",
                    "triggers.complete.android",
                    "triggers.complete.android.script",
                    "triggers.complete.android.shell",
                    "triggers.complete.android.ext",
                    "id",
                    "type",
                    "name",
                    "description",
                    "scheduler.type",
                    "scheduler.config.offset",
                    "scheduler.config.unit",
                    "scheduler.config.direction",
                    "scheduler.config.time",
                    "errors",
                    "errors.code_str",
                    "errors.message",
                    "last_start_time"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "type": "consolidation",
                      "name": "Consolidation Job",
                      "status": "in-progress",
                      "description": "",
                      "total_transferred": 0,
                      "groups": [
                        {
                          "id": 1,
                          "path": {
                            "macro": "%FOLDERS_STORAGE%",
                            "win": "job",
                            "osx": "job",
                            "linux": "job",
                            "android": "job"
                          },
                          "permission": "rw",
                          "role": "regular"
                        },
                        {
                          "id": 2,
                          "path": {
                            "macro": "%FOLDERS_STORAGE%",
                            "win": "job/%SRC:AGENT_NAME%",
                            "osx": "job/%SRC:AGENT_NAME%",
                            "linux": "job/%SRC:AGENT_NAME%",
                            "android": "job/%SRC:AGENT_NAME%"
                          },
                          "permission": "ro",
                          "role": "regular"
                        }
                      ],
                      "use_new_cipher": true,
                      "last_start_time": 1490875290,
                      "errors": [],
                      "scheduler": {
                        "type": "weekly",
                        "days": [
                          0,
                          1
                        ],
                        "start": 1489997836,
                        "finish": 1492057896,
                        "time": [
                          1000,
                          123412
                        ],
                        "skip_if_running": false,
                        "next_schedule_run_time": 1492057959
                      },
                      "settings": {
                        "priority": 5,
                        "use_ram_optimization": true
                      },
                      "triggers": {},
                      "profile_id": 2,
                      "notifications": [
                        {
                          "id": 1,
                          "trigger": "JOB_RUN_ERROR",
                          "destinations": [
                            {
                              "user_id": 4
                            },
                            {
                              "web_hook_id": 1
                            },
                            {
                              "email": "test@test.com"
                            }
                          ],
                          "settings": {
                            "error_code": "SE_PRE_COMMAND_FAILED",
                            "notify_after_error_timeout": true,
                            "error_timeout": 600,
                            "notify_on_error_remove": false
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetJob",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Update job",
        "operationId": "UpdateJob",
        "description": "Update job. Any job param listed below can be updated. To delete trigger pass null instead of the object",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Job name"
                  },
                  "type": {
                    "type": "string",
                    "description": "Job type"
                  },
                  "description": {
                    "type": "string",
                    "description": "Job description"
                  },
                  "groups": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of job groups"
                  },
                  "groups.id": {
                    "type": "number",
                    "description": "Group id"
                  },
                  "groups.permission": {
                    "type": "string",
                    "description": "Group permissions. Selective permissions (sro and srw) are allowed only for sync, file_caching and hybrid_work jobs"
                  },
                  "groups.path": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Group path"
                  },
                  "groups.path.macro": {
                    "type": "string",
                    "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS \nNot allowed for High Availability Groups"
                  },
                  "groups.path.linux": {
                    "type": "string",
                    "description": "Linux path"
                  },
                  "groups.path.linux_cache": {
                    "type": "string",
                    "description": "Linux cache path. Only for group with caching_gateway role"
                  },
                  "groups.path.win": {
                    "type": "string",
                    "description": "Windows path"
                  },
                  "groups.path.osx": {
                    "type": "string",
                    "description": "OS X path"
                  },
                  "groups.path.android": {
                    "type": "string",
                    "description": "Android path"
                  },
                  "groups.path.xbox": {
                    "type": "string",
                    "description": "Xbox path. Only for distribution jobs"
                  },
                  "groups.role": {
                    "type": "string",
                    "description": "Role. regular by default. Required for file_caching and hybrid_work jobs. primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                  },
                  "groups.file_policy_id": {
                    "type": "number",
                    "description": "File policy id. Required for group with caching_gateway, enduser role"
                  },
                  "groups.priority_agents": {
                    "type": "boolean",
                    "description": "Priority agents. Only for group with primary_storage role or group in sync job."
                  },
                  "groups.lock_server": {
                    "type": "boolean",
                    "description": "Locks server. Only for the case when setting.use_file_locking is true for High availability group with primary_storage role or in sync job."
                  },
                  "agents": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of job agents"
                  },
                  "agents.id": {
                    "type": "number",
                    "description": "Agent id"
                  },
                  "agents.permission": {
                    "type": "string",
                    "description": "Agent permissions. Selective permissions (sro and srw) are allowed only for sync, file_caching and hybrid_work jobs"
                  },
                  "agents.path": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Agent path"
                  },
                  "agents.path.macro": {
                    "type": "string",
                    "description": "Macro. \nIf the parameter is not specified, custom path is used. \nIf use %USERDEFINED% or %GETFILES% macro, you mustn't use path field for all OS"
                  },
                  "agents.path.linux": {
                    "type": "string",
                    "description": "Linux path"
                  },
                  "agents.path.linux_cache": {
                    "type": "string",
                    "description": "Linux cache path. Only for agent with caching_gateway role"
                  },
                  "agents.path.win": {
                    "type": "string",
                    "description": "Windows path"
                  },
                  "agents.path.osx": {
                    "type": "string",
                    "description": "OS X path"
                  },
                  "agents.path.android": {
                    "type": "string",
                    "description": "Android path"
                  },
                  "agents.path.xbox": {
                    "type": "string",
                    "description": "Xbox path. Only for distribution jobs"
                  },
                  "agents.storage_config_id": {
                    "type": "number",
                    "description": "Storage connector config id If the parameter is not specified, Storage connector isn't used"
                  },
                  "agents.role": {
                    "type": "string",
                    "description": "Role. regular by default. Required for file_caching and hybrid_work jobs. primary_storage, caching_gateway roles are used in file_caching jobs. primary_storage, caching_gateway, enduser roles are used in hybrid_work jobs. regular role is used in distribution, consolidation, script, sync, storage_tiering_and_archival jobs."
                  },
                  "agents.file_policy_id": {
                    "type": "number",
                    "description": "File policy id. Required for agent with caching_gateway, enduser role"
                  },
                  "agents.priority_agents": {
                    "type": "boolean",
                    "description": "Priority agents. Only for agent with primary_storage role or agent in sync job."
                  },
                  "agents.lock_server": {
                    "type": "boolean",
                    "description": "Locks server. Only for the case when setting.use_file_locking is true for High availability group with primary_storage role or in sync job."
                  },
                  "triggers": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job triggers. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                  },
                  "triggers.pre_indexing": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Before file-indexing begins"
                  },
                  "triggers.pre_indexing.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.pre_indexing.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_indexing.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_indexing.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_indexing.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.pre_indexing.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_indexing.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.pre_indexing.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.pre_indexing.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.pre_indexing.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_indexing.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_indexing.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_indexing.android": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Android command"
                  },
                  "triggers.pre_indexing.android.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_indexing.android.shell": {
                    "type": "string",
                    "description": "Shell, default \"/system/bin/sh\""
                  },
                  "triggers.pre_indexing.android.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_move": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Before an agent finalizing download. Only for distribution jobs"
                  },
                  "triggers.pre_move.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.pre_move.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_move.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_move.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_move.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.pre_move.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_move.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.pre_move.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.pre_move.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.pre_move.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_move.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.pre_move.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.pre_move.android": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Android command"
                  },
                  "triggers.pre_move.android.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.pre_move.android.shell": {
                    "type": "string",
                    "description": "Shell, default \"/system/bin/sh\""
                  },
                  "triggers.pre_move.android.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.post_download": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "After an agent completes downloading"
                  },
                  "triggers.post_download.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.post_download.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.post_download.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.post_download.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.post_download.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.post_download.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.post_download.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.post_download.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.post_download.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.post_download.android": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Android command"
                  },
                  "triggers.post_download.android.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.android.shell": {
                    "type": "string",
                    "description": "Shell, default \"/system/bin/sh\""
                  },
                  "triggers.post_download.android.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.post_download.xbox": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Xbox command. Only for distribution jobs"
                  },
                  "triggers.post_download.xbox.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.post_download.xbox.shell": {
                    "type": "string",
                    "description": "Shell, default \"\""
                  },
                  "triggers.post_download.xbox.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"\""
                  },
                  "triggers.complete": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "After all agents complete downloading"
                  },
                  "triggers.complete.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "triggers.complete.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.complete.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.complete.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.complete.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "triggers.complete.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.complete.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "triggers.complete.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "triggers.complete.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "triggers.complete.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.complete.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "triggers.complete.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "triggers.complete.android": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Android command"
                  },
                  "triggers.complete.android.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "triggers.complete.android.shell": {
                    "type": "string",
                    "description": "Shell, default \"/system/bin/sh\""
                  },
                  "triggers.complete.android.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "script": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Script for script job"
                  },
                  "script.linux": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Linux command"
                  },
                  "script.linux.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "script.linux.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "script.linux.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "script.win": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Windows command"
                  },
                  "script.win.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "script.win.shell": {
                    "type": "string",
                    "description": "Shell, default \"cmd.exe /Q /C\", use \"powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -InputFormat None -File\" for PowerShell"
                  },
                  "script.win.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"cmd\", use \"ps1\" for PowerShell"
                  },
                  "script.osx": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Mac command"
                  },
                  "script.osx.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "script.osx.shell": {
                    "type": "string",
                    "description": "Shell, default \"/bin/sh\""
                  },
                  "script.osx.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "script.android": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Android command"
                  },
                  "script.android.script": {
                    "type": "string",
                    "description": "Command"
                  },
                  "script.android.shell": {
                    "type": "string",
                    "description": "Shell, default \"/system/bin/sh\""
                  },
                  "script.android.ext": {
                    "type": "string",
                    "description": "Script file extension, default \"sh\""
                  },
                  "scheduler": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Scheduler. Not applicable for sync, file_caching, hybrid_work job"
                  },
                  "scheduler.type": {
                    "type": "string",
                    "description": "Type of the scheduler"
                  },
                  "scheduler.time": {
                    "type": "number",
                    "description": "once - timestamp in seconds, daily - number of seconds since midnight, weekly - array of seconds since midnight"
                  },
                  "scheduler.every": {
                    "type": "number",
                    "description": "minutes - run every N minutes(min 5 minutes), hourly - run every N hours, daily - run every N days"
                  },
                  "scheduler.days": {
                    "type": "number",
                    "description": "weekly - array of days of week to run (encoded in numbers from 0 to 6, 0 is Sunday)"
                  },
                  "scheduler.start": {
                    "type": "number",
                    "description": "Scheduler start time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                  },
                  "scheduler.finish": {
                    "type": "number",
                    "description": "Scheduler finish time (timestamp in seconds) for minutes, hourly, daily and weekly schedulers"
                  },
                  "scheduler.config": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job monthly scheduler configuration"
                  },
                  "scheduler.config.offset": {
                    "type": "number",
                    "description": "Specifies the position within a month \nWhen representing a day, the value range is 1–31 \nWhen representing monday, tuesday, wednesday, thursday, friday, saturday, and sunday the value range is 1–5"
                  },
                  "scheduler.config.unit": {
                    "type": "string",
                    "description": "Specifies the day of the month or the day of week"
                  },
                  "scheduler.config.direction": {
                    "type": "string",
                    "description": "Determines the reference point within the month for scheduling. \nmonth_beginning - the offset is calculated starting from the first day of the month \nmonth_end - the offset is calculated starting from the last day of the month"
                  },
                  "scheduler.config.time": {
                    "type": "number",
                    "description": "Specifies the time of the day to run the job (minutes)"
                  },
                  "scheduler.skip_if_running": {
                    "type": "number",
                    "description": "Wait for job run to complete before starting new one (for all scheduler types except manually or now)"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job settings."
                  },
                  "settings.priority": {
                    "type": "number",
                    "description": "Job priority. Not applicable for script jobs. The lowest priority: 0, the highest: 10. Default value is 5"
                  },
                  "settings.use_ram_optimization": {
                    "type": "boolean",
                    "description": "Use RAM-optimized configuration. Not applicable for script jobs and existing sync jobs. Not configurable and true by default for file_caching, hybrid_work jobs. Is only supported for jobs with Agents of version 3.0.0 and newer. Default value is true"
                  },
                  "settings.reference_instance_id": {
                    "type": "number",
                    "description": "The Reference Instance (Agent or High Availability group) propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Instance is required for the jobs that synchronize file permissions. Default value is null"
                  },
                  "settings.reference_instance_type": {
                    "type": "string",
                    "description": "The Reference Instance type. Agents and High Availability groups are allowed only. Default value is null (reference instance was removed or was not specified)"
                  },
                  "settings.reference_agent_id": {
                    "type": "number",
                    "description": "Deprecated since 4.0. Use reference_instance_type and reference_instance_id instead. The Reference Agent propagates and overwrites file permissions on other Agents in sync, file_caching, hybrid_work jobs. Selecting a Reference Agent is required for the jobs that synchronize file permissions. Default value is null"
                  },
                  "settings.profile": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Unique profile settings for job. If not specified, profile_id or default job profile is used"
                  },
                  "settings.delete_synced_files": {
                    "type": "boolean",
                    "description": "Delete synced files. Only for distribution, consolidation, storage_tiering_and_archival jobs"
                  },
                  "settings.delete_synced_files_ttl": {
                    "type": "number",
                    "description": "Delete synced files (in days). Only for distribution, consolidation, storage_tiering_and_archival jobs"
                  },
                  "settings.archive_by": {
                    "type": "string",
                    "description": "Criterion to archive by. Determines what field will be used settings.files_list, settings.modification_time or settings.access_time. \nOnly one selected criterion is applied. Similar settings from profile will be ignored. \nIf source is cloud storage access_time criterion must not be used. \nOnly for storage_tiering_and_archival job. \nMore information can be found here."
                  },
                  "settings.files_list": {
                    "type": "string",
                    "description": "List of regular expressions separated by a new line character \\n to match files based on their paths. \nOnly for storage_tiering_and_archival job. \nRequired and must not be empty if settings.archive_by=path</code."
                  },
                  "settings.modification_time": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Files will be matched based on time in seconds since they were last modified. \nIf only settings.modification_time.min is provided files with modification time earlier than settings.modification_time.min seconds ago will be matched. \nIf only settings.modification_time.max is provided files with modification time later than settings.modification_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with modification time between settings.modification_time.min and settings.modification_time.max will be matched. \nAt least one value must be provided. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.modification_time.max": {
                    "type": "number",
                    "description": "Max modification time in seconds."
                  },
                  "settings.modification_time.min": {
                    "type": "number",
                    "description": "Min modification time in seconds."
                  },
                  "settings.access_time": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Files will be matched based on time in seconds since they were last accessed. \nIf only settings.access_time.min is provided files with access time earlier than settings.access_time.min seconds ago will be matched. \nIf only settings.access_time.max is provided files with access time later than settings.access_time.max seconds ago will be matched. \nIf both values are provided they are treated as absolute timestamps in seconds and files with access time between settings.access_time.min and settings.access_time.max will be matched. \nAt least one value must be provided. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.access_time.max": {
                    "type": "number",
                    "description": "Max access time in seconds."
                  },
                  "settings.access_time.min": {
                    "type": "number",
                    "description": "Min access time in seconds."
                  },
                  "settings.aws_s3_storage_class": {
                    "type": "string",
                    "description": "Setting that will be used if job's destination is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.aws_s3_retrieval_tier": {
                    "type": "string",
                    "description": "Setting that will be used if job's source is Amazon Glacier storage. \nOnly for storage_tiering_and_archival job."
                  },
                  "settings.use_file_locking": {
                    "type": "boolean",
                    "description": "File locks setting. Only for sync, file_caching, hybrid_work jobs"
                  },
                  "settings.file_locks_timeout": {
                    "type": "number",
                    "description": "File locks timeout. \nApplicable only if setting.use_file_locking is true"
                  },
                  "settings.file_locks_sync_interval": {
                    "type": "number",
                    "description": "File locks sync interval. \nApplicable only if setting.use_file_locking is true"
                  },
                  "settings.file_locks_ignore_list": {
                    "type": "string",
                    "description": "File locks ignore list. \nApplicable only if setting.use_file_locking is true"
                  },
                  "settings.file_locks_allowed_access_when_no_server": {
                    "type": "string",
                    "description": "File locks access to files when no access to locks server. \nApplicable only if setting.use_file_locking is true."
                  },
                  "settings.map_folder_to_drive": {
                    "type": "string",
                    "description": "Map a local folder to a drive letter, applicable only for hybrid jobs on Windows end-users starting from version 4.2.0. \nEnsure that Agents are not assigned the same drive letter in multiple jobs. \nThe drive letter should follow the format X:. To unmap the folder, provide an empty string"
                  },
                  "post_command_local_time": {
                    "type": "number",
                    "description": "Local Agent time after an Agent run completes downloading trigger (in seconds)"
                  },
                  "pre_move_command_local_time": {
                    "type": "number",
                    "description": "Local Agent time after an Agent run before finalizing download trigger (in seconds)"
                  },
                  "profile_id": {
                    "type": "number",
                    "description": "Job Profile id. If the parameter is not specified, default jobs profile id is used. Ignored if unique profile settings for job are specified"
                  },
                  "notifications": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "List of job notifications"
                  },
                  "notifications.id": {
                    "type": "number",
                    "description": "Notification id"
                  },
                  "notifications.destinations": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of notification destinations. One of email, user_id, web_hook_id is required"
                  },
                  "notifications.destinations.email": {
                    "type": "string",
                    "description": "Email to send notifications"
                  },
                  "notifications.destinations.user_id": {
                    "type": "number",
                    "description": "Id of user to send notifications"
                  },
                  "notifications.destinations.web_hook_id": {
                    "type": "number",
                    "description": "Id of webhook to send notifications"
                  },
                  "notifications.trigger": {
                    "type": "string",
                    "description": "Notification trigger."
                  },
                  "notifications.settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Notification settings"
                  },
                  "notifications.settings.error_code": {
                    "type": "string",
                    "description": "Error code to trigger notification. Is null in case of notification is configured for any error code. Only for JOB_RUN_ERROR trigger"
                  },
                  "notifications.settings.notify_after_error_timeout": {
                    "type": "boolean",
                    "description": "Trigger notification after error timeout. Only for JOB_RUN_ERROR trigger"
                  },
                  "notifications.settings.error_timeout": {
                    "type": "number",
                    "description": "Error timeout (seconds). Only for JOB_RUN_ERROR trigger. Minimum value is 1 minute"
                  },
                  "notifications.settings.notify_on_error_remove": {
                    "type": "boolean",
                    "description": "Notify when error is resolved. Only for JOB_RUN_ERROR trigger"
                  },
                  "notifications.settings.complete_timeout": {
                    "type": "number",
                    "description": "Send notification if job run isn't complete within time wait period (seconds). Only for JOB_RUN_NOT_COMPLETE trigger. Minimum value is 1 minute"
                  },
                  "notifications.settings.dont_send_if_no_data_transferred": {
                    "type": "boolean",
                    "description": "Skip notice if jobs did not transfer files. Only for JOB_RUN_FINISHED trigger"
                  }
                },
                "required": [
                  "name",
                  "type",
                  "description",
                  "groups",
                  "groups.id",
                  "groups.permission",
                  "groups.path",
                  "groups.path.linux",
                  "groups.path.linux_cache",
                  "groups.path.win",
                  "groups.path.osx",
                  "groups.path.android",
                  "groups.path.xbox",
                  "groups.lock_server",
                  "agents",
                  "agents.id",
                  "agents.permission",
                  "agents.path",
                  "agents.path.linux",
                  "agents.path.linux_cache",
                  "agents.path.win",
                  "agents.path.osx",
                  "agents.path.android",
                  "agents.path.xbox",
                  "agents.storage_config_id",
                  "triggers.pre_indexing.linux",
                  "triggers.pre_indexing.linux.script",
                  "triggers.pre_indexing.win",
                  "triggers.pre_indexing.win.script",
                  "triggers.pre_indexing.osx",
                  "triggers.pre_indexing.osx.script",
                  "triggers.pre_indexing.android",
                  "triggers.pre_indexing.android.script",
                  "triggers.pre_move.linux",
                  "triggers.pre_move.linux.script",
                  "triggers.pre_move.win",
                  "triggers.pre_move.win.script",
                  "triggers.pre_move.osx",
                  "triggers.pre_move.osx.script",
                  "triggers.pre_move.android",
                  "triggers.pre_move.android.script",
                  "triggers.post_download.linux",
                  "triggers.post_download.linux.script",
                  "triggers.post_download.win",
                  "triggers.post_download.win.script",
                  "triggers.post_download.osx",
                  "triggers.post_download.osx.script",
                  "triggers.post_download.android",
                  "triggers.post_download.android.script",
                  "triggers.post_download.xbox",
                  "triggers.post_download.xbox.script",
                  "triggers.complete.linux",
                  "triggers.complete.linux.script",
                  "triggers.complete.win",
                  "triggers.complete.win.script",
                  "triggers.complete.osx",
                  "triggers.complete.osx.script",
                  "triggers.complete.android",
                  "triggers.complete.android.script",
                  "script.linux",
                  "script.linux.script",
                  "script.win",
                  "script.win.script",
                  "script.osx",
                  "script.osx.script",
                  "script.android",
                  "script.android.script",
                  "scheduler",
                  "scheduler.type",
                  "scheduler.time",
                  "scheduler.every",
                  "scheduler.days",
                  "scheduler.start",
                  "scheduler.finish",
                  "scheduler.config.offset",
                  "scheduler.config.unit",
                  "scheduler.config.direction",
                  "scheduler.config.time",
                  "scheduler.skip_if_running",
                  "post_command_local_time",
                  "pre_move_command_local_time",
                  "notifications.destinations",
                  "notifications.destinations.email",
                  "notifications.destinations.user_id",
                  "notifications.destinations.web_hook_id",
                  "notifications.trigger",
                  "notifications.settings",
                  "notifications.settings.error_code",
                  "notifications.settings.notify_after_error_timeout",
                  "notifications.settings.notify_on_error_remove",
                  "notifications.settings.complete_timeout",
                  "notifications.settings.dont_send_if_no_data_transferred"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "name": "New job name",
                    "triggers": {
                      "pre_indexing": {
                        "linux": {
                          "script": "echo Prepare files"
                        },
                        "win": {
                          "script": "echo Prepare files"
                        },
                        "osx": {
                          "script": "echo Prepare files"
                        },
                        "android": {
                          "script": "echo Prepare files"
                        }
                      },
                      "post_download": null
                    },
                    "profile_id": 2
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateJob",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/jobs/{id}/groups": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Job groups",
        "operationId": "JobGroups",
        "description": "Returns job groups",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "JobGroups",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/ldap": {
      "put": {
        "tags": [
          "LDAP"
        ],
        "summary": "Configure LDAP settings",
        "operationId": "ConfigureLDAP",
        "description": "Configure LDAP settings. Returns LDAP settings. See get LDAP settings for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Determines whether LDAP is enabled or not"
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Hostname. Required if LDAP is enabled."
                  },
                  "port": {
                    "type": "number",
                    "description": "Port. Required if LDAP is enabled."
                  },
                  "username": {
                    "type": "string",
                    "description": "Username. Required if LDAP is enabled."
                  },
                  "password": {
                    "type": "string",
                    "description": "Password. Required if LDAP is enabled."
                  },
                  "base_dn": {
                    "type": "string",
                    "description": "Base DN. Required if LDAP is enabled."
                  },
                  "add_dn": {
                    "type": "string",
                    "description": "Additional user DN. Required if LDAP is enabled. Empty string will be set if not defined."
                  },
                  "ssl": {
                    "type": "boolean",
                    "description": "Determines whether SSL is enabled or not. Custom trusted CA certificates can be configured via Advanced settings. Required if LDAP is enabled."
                  }
                },
                "required": [
                  "enabled"
                ]
              },
              "examples": {
                "ldap_settings_configuration_example": {
                  "summary": "LDAP settings configuration example:",
                  "value": {
                    "enabled": true,
                    "hostname": "192.186.1.169",
                    "port": 389,
                    "ssl": false,
                    "username": "CN=Administrator,CN=Users,DC=HY,DC=local",
                    "password": "Admin",
                    "base_dn": "DC=HY,DC=local",
                    "add_dn": ""
                  }
                },
                "ldap_disabling_example": {
                  "summary": "LDAP disabling example:",
                  "value": {
                    "enabled": false
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "ConfigureLDAP",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "LDAP"
        ],
        "summary": "Get LDAP settings",
        "operationId": "GetLDAPsettings",
        "description": "Returns LDAP settings",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "description": "Determines whether LDAP is enabled or not"
                    },
                    "state": {
                      "type": "string",
                      "description": "LDAP client state. Sent if LDAP is enabled."
                    },
                    "hostname": {
                      "type": "string",
                      "description": "Hostname. Sent if LDAP is enabled."
                    },
                    "port": {
                      "type": "number",
                      "description": "Port. Sent if LDAP is enabled."
                    },
                    "username": {
                      "type": "string",
                      "description": "Username. Sent if LDAP is enabled."
                    },
                    "base_dn": {
                      "type": "string",
                      "description": "Base DN. Sent if LDAP is enabled."
                    },
                    "add_dn": {
                      "type": "string",
                      "description": "Additional user DN. Sent if LDAP is enabled."
                    },
                    "ssl": {
                      "type": "boolean",
                      "description": "Determines whether SSL is enabled or not. Sent if LDAP is enabled."
                    }
                  },
                  "required": [
                    "enabled"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "enabled": false
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetLDAPsettings",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/notifications": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "Create \"overview\" notification",
        "operationId": "CreateOverviewNotification",
        "description": "Create new \"overview\" notification.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "Notification type"
                  },
                  "destinations": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of notification destinations"
                  },
                  "destinations.email": {
                    "type": "string",
                    "description": "Email to send notifications"
                  },
                  "destinations.user_id": {
                    "type": "number",
                    "description": "Id of user to send notifications"
                  },
                  "destinations.web_hook_id": {
                    "type": "number",
                    "description": "Id of webhook to send notifications"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Notification settings"
                  },
                  "settings.weekly": {
                    "type": "boolean",
                    "description": "Send notification weekly (every Monday)"
                  },
                  "settings.daily": {
                    "type": "boolean",
                    "description": "Send notification daily"
                  },
                  "settings.send_time_daily": {
                    "type": "number",
                    "description": "Send daily notification since specified number of seconds since midnight passes. Default value is 0 seconds"
                  },
                  "settings.send_time_weekly": {
                    "type": "number",
                    "description": "Send weekly notification since specified number of seconds since midnight passes. Default value is 0 seconds"
                  }
                },
                "required": [
                  "type",
                  "destinations",
                  "settings",
                  "settings.weekly",
                  "settings.daily"
                ]
              },
              "examples": {
                "overview_notification_example": {
                  "summary": "Overview notification example:",
                  "value": {
                    "type": "overview_notification",
                    "destinations": [
                      {
                        "user_id": 4
                      },
                      {
                        "web_hook_id": 1
                      },
                      {
                        "email": "test@test.com"
                      }
                    ],
                    "settings": {
                      "daily": false,
                      "weekly": true,
                      "send_time_weekly": 7200
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateOverviewNotification",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Get all notifications",
        "operationId": "GetNotifications",
        "description": "Returns all notifications in array. See get notification for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetNotifications",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/notifications/{id}": {
      "delete": {
        "tags": [
          "Notifications"
        ],
        "summary": "Delete notification",
        "operationId": "DeleteNotification",
        "description": "Delete notification.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Notification id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteNotification",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Get notification by id",
        "operationId": "GetNotification",
        "description": "Returns notification info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Notification id"
                    },
                    "type": {
                      "type": "string",
                      "description": "Notification type"
                    },
                    "destinations": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Array of notification destinations"
                    },
                    "destinations.email": {
                      "type": "string",
                      "description": "Email to send notifications"
                    },
                    "destinations.user_id": {
                      "type": "number",
                      "description": "Id of user to send notifications"
                    },
                    "destinations.web_hook_id": {
                      "type": "number",
                      "description": "Id of webhook to send notifications"
                    },
                    "job_id": {
                      "type": "number",
                      "description": "Job id. Is null in case of notification is configured for any job. Only for job notifications"
                    },
                    "trigger": {
                      "type": "string",
                      "description": "Notification trigger. Only for job notifications"
                    },
                    "settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Notification settings"
                    },
                    "settings.error_code": {
                      "type": "string",
                      "description": "Error code to trigger notification. Is null in case of notification is configured for any error code. Only for job notifications and JOB_RUN_ERROR trigger"
                    },
                    "settings.notify_after_error_timeout": {
                      "type": "boolean",
                      "description": "Trigger notification after error timeout. Only for job notifications and JOB_RUN_ERROR trigger"
                    },
                    "settings.error_timeout": {
                      "type": "number",
                      "description": "Error timeout (seconds). Only for job notifications and JOB_RUN_ERROR trigger. Minimum value is 1 minute"
                    },
                    "settings.notify_on_error_remove": {
                      "type": "boolean",
                      "description": "Notify when error is resolved. Only for job notifications and JOB_RUN_ERROR trigger"
                    },
                    "settings.complete_timeout": {
                      "type": "number",
                      "description": "Send notification if job run isn't complete within time wait period (seconds). Only for job notifications and JOB_RUN_NOT_COMPLETE trigger. Minimum value is 1 minute"
                    },
                    "settings.dont_send_if_no_data_transferred": {
                      "type": "boolean",
                      "description": "Skip notice if jobs did not transfer files. Only for job notifications and JOB_RUN_FINISHED trigger"
                    },
                    "settings.event": {
                      "type": "string",
                      "description": "Event to trigger notification. Only for event notifications"
                    },
                    "settings.weekly": {
                      "type": "boolean",
                      "description": "Send notification weekly (every Monday). Only for overview notifications"
                    },
                    "settings.daily": {
                      "type": "boolean",
                      "description": "Send notification daily. Only for overview notifications"
                    },
                    "settings.send_time_daily": {
                      "type": "number",
                      "description": "Send daily overview notification as specified number of seconds since midnight passes. Default value is 0 seconds"
                    },
                    "settings.send_time_weekly": {
                      "type": "number",
                      "description": "Send weekly overview notification as specified number of seconds since midnight passes. Default value is 0 seconds."
                    }
                  },
                  "required": [
                    "id",
                    "type",
                    "destinations",
                    "settings"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "type": "job_notification",
                      "trigger": "JOB_RUN_ERROR",
                      "job_id": null,
                      "destinations": [
                        {
                          "user_id": 1
                        },
                        {
                          "web_hook_id": 1
                        },
                        {
                          "email": "test@test.com"
                        }
                      ],
                      "settings": {
                        "error_code": "SE_PRE_COMMAND_FAILED",
                        "notify_after_error_timeout": true,
                        "error_timeout": 600,
                        "notify_on_error_remove": false
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Notification id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetNotification",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Notifications"
        ],
        "summary": "Update \"overview\" notification",
        "operationId": "UpdateOverviewNotification",
        "description": "Update \"overview\" notification. Any notification param listed below can be updated.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Notification id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "Notification type"
                  },
                  "destinations": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Array of notification destinations"
                  },
                  "destinations.email": {
                    "type": "string",
                    "description": "Email to send notifications"
                  },
                  "destinations.user_id": {
                    "type": "number",
                    "description": "Id of user to send notifications"
                  },
                  "destinations.web_hook_id": {
                    "type": "number",
                    "description": "Id of webhook to send notifications"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Notification settings"
                  },
                  "settings.weekly": {
                    "type": "boolean",
                    "description": "Send notification weekly (every Monday)"
                  },
                  "settings.daily": {
                    "type": "boolean",
                    "description": "Send notification daily"
                  },
                  "settings.send_time_daily": {
                    "type": "number",
                    "description": "Send daily overview notification as specified number of seconds since midnight passes. Default value is 0 seconds"
                  },
                  "settings.send_time_weekly": {
                    "type": "number",
                    "description": "Send weekly overview notification as specified number of seconds since midnight passes. Default value is 0 seconds."
                  }
                },
                "required": [
                  "type",
                  "settings.weekly",
                  "settings.daily"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "type": "overview_notification",
                    "settings": {
                      "weekly": false,
                      "daily": true,
                      "send_time_daily": 3600
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateOverviewNotification",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/oauth2": {
      "put": {
        "tags": [
          "OAuth2"
        ],
        "summary": "Configure OAuth2 settings",
        "operationId": "ConfigureOAuth2",
        "description": "Configure OAuth2 settings. Returns OAuth2 settings. See get OAuth2 settings for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Determines whether OAuth2 is enabled or not."
                  },
                  "openid_configuration_url": {
                    "type": "string",
                    "description": "OpenID Connect discovery document."
                  },
                  "uid_attribute": {
                    "type": "string",
                    "description": "JWT attribute containing unique user id."
                  },
                  "display_name_attribute": {
                    "type": "string",
                    "description": "JWT attribute containing username. Email or uid is used if display_name_attribute is empty."
                  },
                  "email_attribute": {
                    "type": "string",
                    "description": "JWT attribute containing email."
                  },
                  "roles_attribute": {
                    "type": "string",
                    "description": "JWT attribute containing array of user's roles or string with singular role."
                  },
                  "role_regexp": {
                    "type": "string",
                    "description": "Regexp for extraction of roles designated for Management Console. Must contain catch group."
                  }
                },
                "required": [
                  "enabled",
                  "openid_configuration_url",
                  "uid_attribute",
                  "roles_attribute"
                ]
              },
              "examples": {
                "oauth2_settings_configuration_example": {
                  "summary": "OAuth2 settings configuration example:",
                  "value": {
                    "enabled": true,
                    "openid_configuration_url": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
                    "uid_attribute": "oid",
                    "display_name_attribute": "preferred_username",
                    "email_attribute": "email",
                    "roles_attribute": "roles",
                    "role_regexp": "resilio-(.*)"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "ConfigureOAuth2",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "OAuth2"
        ],
        "summary": "Get OAuth2 settings",
        "operationId": "GetOAuth2settings",
        "description": "Returns OAuth2 settings",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "description": "Determines whether oauth2 is enabled or not."
                    },
                    "openid_configuration_url": {
                      "type": "string",
                      "description": "OpenID Connect discovery document."
                    },
                    "uid_attribute": {
                      "type": "string",
                      "description": "JWT attribute containing unique user id."
                    },
                    "display_name_attribute": {
                      "type": "string",
                      "description": "JWT attribute containing display name. Email or uid is used if display_name_attribute is empty."
                    },
                    "email_attribute": {
                      "type": "string",
                      "description": "JWT attribute containing email."
                    },
                    "roles_attribute": {
                      "type": "string",
                      "description": "JWT attribute containing array of user's roles or string with singular role."
                    },
                    "role_regexp": {
                      "type": "string",
                      "description": "Regexp for extraction of roles designated for Management Console. Must contain catch group."
                    }
                  },
                  "required": [
                    "enabled",
                    "openid_configuration_url",
                    "uid_attribute",
                    "display_name_attribute",
                    "email_attribute",
                    "roles_attribute",
                    "role_regexp"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "enabled": true,
                      "openid_configuration_url": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
                      "uid_attribute": "oid",
                      "display_name_attribute": "preferred_username",
                      "email_attribute": "email",
                      "roles_attribute": "roles",
                      "role_regexp": "resilio-(.*)"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetOAuth2settings",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/okta": {
      "put": {
        "tags": [
          "Okta"
        ],
        "summary": "Configure Okta settings",
        "operationId": "ConfigureOkta",
        "description": "Configure Okta settings. Returns Okta settings. See get Okta settings for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "authorization_code_flow_enabled": {
                    "type": "boolean",
                    "description": "Determines whether Okta Authorization code flow is enabled or not. Use an empty string if you intend to disable Okta"
                  },
                  "client_credentials_flow_enabled": {
                    "type": "boolean",
                    "description": "Determines whether Okta Client credentials flow is enabled or not. Use an empty string if you intend to disable Okta"
                  },
                  "organization_domain": {
                    "type": "string",
                    "description": "Okta organization domain. Use an empty string if you intend to disable Okta."
                  },
                  "client_id": {
                    "type": "string",
                    "description": "Client ID. This parameter is not required if the purpose of the request is to disable Okta but required if the Okta Authorization Code Flow is enabled."
                  },
                  "client_secret": {
                    "type": "string",
                    "description": "Client secret. This parameter is optional if the request aims to disable Okta but required if the Okta Authorization Code Flow is enabled."
                  },
                  "authorization_server_id": {
                    "type": "string",
                    "description": "Okta Authorization Server Id. This parameter is not required if the purpose of the request is to disable Okta"
                  }
                },
                "required": [
                  "authorization_code_flow_enabled",
                  "client_credentials_flow_enabled",
                  "organization_domain"
                ]
              },
              "examples": {
                "okta_settings_configuration": {
                  "summary": "Okta settings configuration:",
                  "value": {
                    "authorization_code_flow_enabled": true,
                    "client_credentials_flow_enabled": true,
                    "organization_domain": "dev-13362771.okta.com",
                    "authorization_server_id": "ausksdc4uyQSudPyG5d8",
                    "client_id": "0oak4boaplmXBTRdq5d7",
                    "client_secret": "GrW******************"
                  }
                },
                "okta_settings_configuration_authorization_code_flow_disabling": {
                  "summary": "Okta settings configuration (Authorization code flow disabling):",
                  "value": {
                    "authorization_code_flow_enabled": false,
                    "client_credentials_flow_enabled": true,
                    "organization_domain": "dev-13362771.okta.com",
                    "authorization_server_id": "ausksdc4uyQSudPyG5d8"
                  }
                },
                "okta_disabling": {
                  "summary": "Okta disabling:",
                  "value": {
                    "organization_domain": "",
                    "authorization_code_flow_enabled": false,
                    "client_credentials_flow_enabled": false
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "ConfigureOkta",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Okta"
        ],
        "summary": "Get Okta settings",
        "operationId": "GetOktaSettings",
        "description": "Returns Okta settings",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "authorization_code_flow_enabled": {
                      "type": "boolean",
                      "description": "Determines whether Okta Authorization code flow is enabled or not"
                    },
                    "client_credentials_flow_enabled": {
                      "type": "boolean",
                      "description": "Determines whether Okta Client credentials flow is enabled or not"
                    },
                    "client_id": {
                      "type": "string",
                      "description": "Client ID."
                    },
                    "organization_domain": {
                      "type": "string",
                      "description": "Okta organization domain"
                    },
                    "client_secret": {
                      "type": "string",
                      "description": "Client secret"
                    },
                    "authorization_server_id": {
                      "type": "string",
                      "description": "Okta Authorization Server Id"
                    }
                  },
                  "required": [
                    "authorization_code_flow_enabled",
                    "client_credentials_flow_enabled",
                    "client_id",
                    "organization_domain",
                    "client_secret",
                    "authorization_server_id"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "authorization_code_flow_enabled": true,
                      "client_credentials_flow_enabled": true,
                      "organization_domain": "dev-13362771.okta.com",
                      "client_id": "0oak4boaplmXBTRdq5d7",
                      "client_secret": "GrW******************",
                      "authorization_server_id": "ausksdc4uyQSudPyG5d8"
                    }
                  },
                  "response_example_authorization_code_flow_disabled": {
                    "summary": "Response example (Authorization code flow disabled):",
                    "value": {
                      "authorization_code_flow_enabled": false,
                      "client_credentials_flow_enabled": true,
                      "organization_domain": "dev-13362771.okta.com",
                      "client_id": "",
                      "client_secret": "",
                      "authorization_server_id": "ausksdc4uyQSudPyG5d8"
                    }
                  },
                  "response_example_okta_is_disabled": {
                    "summary": "Response example (Okta is disabled):",
                    "value": {
                      "authorization_code_flow_enabled": false,
                      "client_credentials_flow_enabled": false,
                      "organization_domain": "",
                      "client_id": "",
                      "client_secret": "",
                      "authorization_server_id": ""
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetOktaSettings",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/pending_agents/{id}/approve/": {
      "post": {
        "tags": [
          "Pending Agents"
        ],
        "summary": "Approve agent",
        "operationId": "ApprovePendingAgent",
        "description": "Approve pending agent.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "license_package_name": {
                    "type": "string",
                    "description": "License package name. License Package is required for license version V4 or higher"
                  }
                },
                "required": [
                  "license_package_name"
                ]
              }
            }
          }
        },
        "x-apidocName": "ApprovePendingAgent",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/pending_agents/{id}/decline/": {
      "post": {
        "tags": [
          "Pending Agents"
        ],
        "summary": "Decline agent",
        "operationId": "DeclinePendingAgent",
        "description": "Decline pending agent.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeclinePendingAgent",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/pending_agents": {
      "get": {
        "tags": [
          "Pending Agents"
        ],
        "summary": "Get pending agents",
        "operationId": "GetPendingAgents",
        "description": "Returns pending agents in array.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "status": {
                      "type": "string",
                      "description": "Agent status"
                    },
                    "connected_at": {
                      "type": "number",
                      "description": "Agent request date (timestamp in seconds)"
                    },
                    "details": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Agent details which it sent"
                    },
                    "details.name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "details.ip": {
                      "type": "string",
                      "description": "Agent IP address"
                    },
                    "details.os": {
                      "type": "string",
                      "description": "Agent operating system"
                    }
                  },
                  "required": [
                    "id",
                    "status",
                    "connected_at",
                    "details",
                    "details.name",
                    "details.ip",
                    "details.os"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": "[{\n\t\"id\": \"4,\n\t\"status\": \"pending\",\n\t\"connected_at\": 1614264616655,\n\t\"details\":\n\t{\n\t\t\"name\": \"Agent04\",\n\t\t\"ip\": \"127.0.0.1\",\n\t\t\"os\": \"win64\"\n\t}\n}, { ... }]"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetPendingAgents",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agent_profiles": {
      "post": {
        "tags": [
          "Profiles"
        ],
        "summary": "Create agent profile",
        "operationId": "CreateAgentProfile",
        "description": "Create a new agent profile",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Agent profile name"
                  },
                  "description": {
                    "type": "string",
                    "description": "Agent profile description"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Agent profile settings"
                  }
                }
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "name": "New agent profile",
                    "description": "This is a new agent profile",
                    "settings": {
                      "rate_limit_local_peers": false,
                      "folder_defaults.use_tracker": true,
                      "folder_defaults.use_lan_broadcast": true,
                      "use_synctrash_folder": true,
                      "folder_defaults.known_hosts": "",
                      "folder_defaults.delete_unknown_files": false,
                      "lan_encrypt_data": true,
                      "max_file_size_for_versioning": "1000",
                      "folder_rescan_interval": "600"
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateAgentProfile",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get all agent profiles",
        "operationId": "GetAgentProfiles",
        "description": "Returns all agents profiles in array. See get agent profile for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetAgentProfiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/job_profiles": {
      "post": {
        "tags": [
          "Profiles"
        ],
        "summary": "Create job profile",
        "operationId": "CreateJobProfile",
        "description": "Create a new job profile",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Job profile name"
                  },
                  "description": {
                    "type": "string",
                    "description": "Job profile description"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job profile settings"
                  }
                }
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "name": "New job profile",
                    "description": "This is a new job profile",
                    "settings": {
                      "posix_fs_acl_mode": 1,
                      "windows_fs_acl_mode": 0,
                      "timeout": 0,
                      "ignore_offline_agents": true
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateJobProfile",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get all job profiles",
        "operationId": "GetJobProfiles",
        "description": "Returns all jobs profiles in array. See get job profile for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetJobProfiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/agent_profiles/{id}": {
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete agent profile",
        "operationId": "DeleteAgentProfile",
        "description": "Delete agent profile.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent profile id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteAgentProfile",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get agent profile by id",
        "operationId": "GetAgentProfile",
        "description": "Returns agents profile.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Agent profile id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Agent profile name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Agent profile description"
                    },
                    "settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Agent profile settings"
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Created at (seconds)"
                    },
                    "updated_at": {
                      "type": "number",
                      "description": "Updated at (seconds)"
                    },
                    "groups": {
                      "type": "number",
                      "description": "Ids of groups which use the profile"
                    },
                    "created_by": {
                      "type": "string",
                      "description": "Name of the user who created profile. It can be absent in some profiles (e.g. default and cloud profile)"
                    },
                    "updated_by": {
                      "type": "string",
                      "description": "Name of the user who updated profile the last time. It can be absent in some profiles (e.g. default and cloud profile)"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "settings",
                    "created_at",
                    "updated_at",
                    "groups"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "name": "Default Agent Profile",
                      "description": "Default Agent profile is applied to an agent if no other profile set explicitly by administrator",
                      "settings": {
                        "rate_limit_local_peers": false,
                        "folder_defaults.use_tracker": true,
                        "folder_defaults.use_lan_broadcast": true
                      },
                      "groups": [
                        1,
                        2
                      ],
                      "created_at": 1626874010,
                      "updated_at": 1656605220,
                      "created_by": "user1",
                      "updated_by": "user2"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent profile id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetAgentProfile",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update agent profile",
        "operationId": "UpdateAgentProfile",
        "description": "Update agent profile. Any agent profile param listed below can be updated.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent profile id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Agent profile name. Default profile name can't be changed"
                  },
                  "description": {
                    "type": "string",
                    "description": "Agent profile description"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Agent profile settings."
                  }
                },
                "required": [
                  "name",
                  "description",
                  "settings"
                ]
              },
              "examples": {
                "request_for_profile_name_update_example": {
                  "summary": "Request for profile name update example:",
                  "value": {
                    "name": "New name"
                  }
                },
                "request_for_settings_update_example": {
                  "summary": "Request for settings update example:",
                  "value": {
                    "settings": {
                      "folder_defaults.use_tracker": true,
                      "folder_defaults.use_lan_broadcast": true,
                      "use_synctrash_folder": true,
                      "folder_defaults.known_hosts": "",
                      "folder_defaults.delete_unknown_files": false,
                      "folder_rescan_interval": "600",
                      "sync_trash_ttl": "30",
                      "bind_port": "3839"
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateAgentProfile",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/job_profiles/{id}": {
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete job profile",
        "operationId": "DeleteJobProfile",
        "description": "Delete job profile.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job profile id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteJobProfile",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get job profile by id",
        "operationId": "GetJobProfile",
        "description": "Returns job profile.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Job profile id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Job profile name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Job profile description"
                    },
                    "settings": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Job profile settings"
                    },
                    "jobs": {
                      "type": "number",
                      "description": "Ids of jobs which use the profile"
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Created at (seconds)"
                    },
                    "updated_at": {
                      "type": "number",
                      "description": "Updated at (seconds)"
                    },
                    "created_by": {
                      "type": "string",
                      "description": "Name of the user who created profile. It can be absent in some profiles (e.g. default and cloud profile)"
                    },
                    "updated_by": {
                      "type": "string",
                      "description": "Name of the user who updated profile the last time. It can be absent in some profiles (e.g. default and cloud profile)"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "settings",
                    "jobs",
                    "created_at",
                    "updated_at"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 2,
                      "name": "Default Job Profile",
                      "description": "",
                      "settings": {
                        "posix_fs_acl_mode": 1,
                        "windows_fs_acl_mode": 0,
                        "timeout": 0,
                        "ignore_offline_agents": true
                      },
                      "jobs": [
                        1,
                        2
                      ],
                      "created_at": 1626874010,
                      "updated_at": 1656605220,
                      "created_by": "user1",
                      "updated_by": "user2"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job profile id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetJobProfile",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update job profile",
        "operationId": "UpdateJobProfile",
        "description": "Update job profile. Any job profile param listed below can be updated.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job profile id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Job profile name. Default profile name can't be changed"
                  },
                  "description": {
                    "type": "string",
                    "description": "Job profile description"
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Job profile settings."
                  }
                },
                "required": [
                  "name",
                  "description",
                  "settings"
                ]
              },
              "examples": {
                "request_for_settings_update_example": {
                  "summary": "Request for settings update example:",
                  "value": {
                    "settings": {
                      "posix_fs_acl_mode": 1,
                      "windows_fs_acl_mode": 0,
                      "timeout": 0,
                      "ignore_offline_agents": true
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateJobProfile",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/removed_agents": {
      "get": {
        "tags": [
          "Removed Agents"
        ],
        "summary": "Get removed agents",
        "operationId": "GetRemovedAgents",
        "description": "Returns removed agents in array.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Removed agent id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Removed agent name"
                    },
                    "deviceid": {
                      "type": "string",
                      "description": "Removed agent peer id"
                    },
                    "version": {
                      "type": "string",
                      "description": "Removed agent version"
                    },
                    "removed_by": {
                      "type": "string",
                      "description": "User which removed agent"
                    },
                    "removed_at": {
                      "type": "number",
                      "description": "The date when agent was removed (timestamp in seconds)"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "deviceid",
                    "version",
                    "removed_by",
                    "removed_at"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": "[{\n\t\"id\": 2,\n\t\"name\": \"Agent 2\",\n\t\"deviceid\": \"EDY7UPQOO3LVIIHYMEXTGDM5U6SA2LWM\",\n\t\"version\": \"2.12.3\",\n\t\"removed_at\": 1616579896033,\n\t\"removed_by\": \"1\"\n}, { ... }]"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetRemovedAgents",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/removed_agents/{id}": {
      "delete": {
        "tags": [
          "Removed Agents"
        ],
        "summary": "Revoke the deleted agent",
        "operationId": "RevokeRemovedAgent",
        "description": "Revoke the deleted agent.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "RevokeRemovedAgent",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/reporting": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Get supported data types",
        "operationId": "GetSupportedDataTypes",
        "description": "Returns supported data types in array.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "examples": {
                  "response_data_example": {
                    "summary": "Response data example:",
                    "value": {
                      "types": [
                        "events",
                        "errors",
                        "files",
                        "stats_agent",
                        "stats_agent_1h",
                        "stats_jobrun",
                        "stats_jobrun_1h",
                        "stats_jobrun_5m",
                        "stats_jobrun_agent",
                        "stats_jobrun_agent_1h",
                        "stats_job_1h",
                        "stats_job_5m",
                        "stats_server_usage",
                        "stats_server_usage_5m",
                        "stats_server_usage_1h",
                        "file_query_statuses"
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetSupportedDataTypes",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/reporting/{type}/query/{id}": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Get timeseries data by type (type and query id)",
        "operationId": "GetTimeseriesData",
        "description": "Returns time series data in an array. For all available types see Get supported data types. Only strict sequence of parameters by time series data type is allowed. Skipping parameters in the middle or beginnig of the array is not supported. For example, in the allowed set [\"peer_id\", \"job_id\", \"job_run_id\"], it’s possible to skip parameter \"job_run_id\", but sequence [\"peer_id\", \"job_run_id\"] is not allowed in this case. It’s also possible to skip all the parameters, and in this case search will be performed by the time interval in the request (parameter from/to). Below are the parameters for each data type.\n\nFor type \"events\", \"files\" and \"file_query_statuses\" it’s possible to request next set of data by token, which is returned with the set of events. Pass the token as query parameter. To enable tokenized query, set the token as \"new\", and after the first request next token is returned. Token expiration time is 5 minutes. If token was specified in request but response doesn't contain it, that means there is no more data to return, and token is invalidated.\n\nNOTE: Specifying reporting parameters in the request body is deprecated since 3.6.0. Use a query string.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ts": {
                      "type": "number",
                      "description": "Timeseries data timestamp"
                    },
                    "type": {
                      "type": "string",
                      "description": "Timeseries data type"
                    },
                    "src_type": {
                      "type": "string",
                      "description": "Source type"
                    },
                    "src_id": {
                      "type": "string",
                      "description": "Source id"
                    },
                    "name": {
                      "type": "string",
                      "description": "File name"
                    },
                    "level": {
                      "type": "number",
                      "description": "Event level"
                    },
                    "component": {
                      "type": "string",
                      "description": "Event component"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Additional file event data"
                    },
                    "peer_id": {
                      "type": "string",
                      "description": "Agent device id"
                    },
                    "job_id": {
                      "type": "number",
                      "description": "Job id"
                    },
                    "job_run_id": {
                      "type": "number",
                      "description": "Job run id"
                    },
                    "stats": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Stats data"
                    },
                    "state": {
                      "type": "string",
                      "description": "File transferring state"
                    },
                    "stats.cpu": {
                      "type": "number",
                      "description": "CPU usage"
                    },
                    "stats.d": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of disks"
                    },
                    "stats.d.id": {
                      "type": "number",
                      "description": "Disk id"
                    },
                    "stats.d.l": {
                      "type": "number",
                      "description": "Disk load. Max value depends on setting \"Number of disk I/O threads\""
                    },
                    "stats.d.q": {
                      "type": "number",
                      "description": "Jobs count in queue"
                    },
                    "stats.d.r": {
                      "type": "number",
                      "description": "Read speed from disk"
                    },
                    "stats.d.w": {
                      "type": "number",
                      "description": "Write speed on the disk"
                    },
                    "stats.dn": {
                      "type": "number",
                      "description": "Down speed"
                    },
                    "stats.up": {
                      "type": "number",
                      "description": "Up speed"
                    },
                    "stats.mem": {
                      "type": "number",
                      "description": "Memory usage"
                    },
                    "stats.mtl": {
                      "type": "number",
                      "description": "Message thread load"
                    },
                    "stats.ntl": {
                      "type": "number",
                      "description": "Network thread load"
                    },
                    "client_id": {
                      "type": "number",
                      "description": "Agent Id"
                    },
                    "client_name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "path": {
                      "type": "string",
                      "description": "File path"
                    },
                    "status": {
                      "type": "string",
                      "description": "File status \ndownloaded \ndeleted \ncan't be synced now \nin download queue \nunknown"
                    },
                    "info": {
                      "type": "string",
                      "description": "Information about file and it's status"
                    },
                    "time": {
                      "type": "number",
                      "description": "File mtime"
                    },
                    "size": {
                      "type": "number",
                      "description": "File size"
                    },
                    "file_entry": {
                      "type": "string",
                      "description": "File entry JSON"
                    }
                  },
                  "required": [
                    "ts",
                    "type",
                    "src_type",
                    "src_id",
                    "name",
                    "level",
                    "component",
                    "data",
                    "peer_id",
                    "job_id",
                    "job_run_id",
                    "ts",
                    "type",
                    "peer_id",
                    "stats",
                    "ts",
                    "name",
                    "state",
                    "peer_id",
                    "job_id",
                    "job_run_id",
                    "data",
                    "ts",
                    "type",
                    "job_run_id",
                    "job_id",
                    "stats",
                    "ts",
                    "type",
                    "job_run_id",
                    "job_id",
                    "peer_id",
                    "stats",
                    "ts",
                    "type",
                    "job_id",
                    "stats",
                    "ts",
                    "type",
                    "stats",
                    "stats.cpu",
                    "stats.d",
                    "stats.d.id",
                    "stats.d.l",
                    "stats.d.q",
                    "stats.d.r",
                    "stats.d.w",
                    "stats.dn",
                    "stats.up",
                    "stats.mem",
                    "stats.mtl",
                    "stats.ntl",
                    "ts",
                    "client_id",
                    "client_name",
                    "peer_id",
                    "path",
                    "status",
                    "info",
                    "time",
                    "size",
                    "file_entry"
                  ]
                },
                "examples": {
                  "response_data_example_for_type_events_errors": {
                    "summary": "Response data example for type \"events\", \"errors\":",
                    "value": {
                      "data": [
                        {
                          "ts": 1618306551000,
                          "type": "events",
                          "src_type": "agent",
                          "src_id": "EB5ZEJELWWLQSUVFPUNGTTBZTBU6N2I4",
                          "name": "No connection to Management Console (No connection to Management Console: No connection could be made because the target machine actively refused it. (10061))",
                          "level": 1,
                          "component": "App",
                          "data": "{}",
                          "peer_id": "EB5ZEJELWWLQSUVFPUNGTTBZTBU6N2I4",
                          "job_id": 0,
                          "job_run_id": 0
                        }
                      ],
                      "token": "8RNjiIN0_knfwwav6_13730"
                    }
                  },
                  "response_data_example_for_type_file_query_statuses": {
                    "summary": "Response data example for type \"file_query_statuses\":",
                    "value": "{\n\t\t\"data\": [\n\t\t\t{\n\t\t\t\t\"ts\": 1680015926015,\n\t\t\t\t\"client_d\": 3,\n\t\t\t\t\"client_name\": \"agent3\",\n\t\t\t\t\"peer_id\": \"EDBOVFXSIB6XKEKYI4W7LGGAEBB2SMPS\",\n\t\t\t\t\"path\": \"\",\n\t\t\t\t\"status\": \"unknown\",\n\t\t\t\t\"info\": \"Query completed. No files matching the query found\",\n\t\t\t\t\"size\": 0,\n\t\t\t\t\"time\": 0,\n\t\t\t\t\"file_entry\": \"\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"ts\": 1680015926027,\n\t\t\t\t\"client_id\": 2,\n\t\t\t\t\"client_name\": \"agent2\",\n\t\t\t\t\"peer_id\": \"EANRULUEFY53FI7PLPNE5DLF3J6PYYSB\",\n\t\t\t\t\"path\": \"file.txt\n\t\t\t\t\"status\": \"deleted\",\n\t\t\t\t\"info\": \"by Agent EANRULUEFY53FI7PLPNE5DLF3J6PYYSB\",\n\t\t\t\t\"size\": 7443,\n\t\t\t\t\"time\": 1674474675000,\n\t\t\t\t\"file_entry\": \"{\\\"ctime\\\":1674474675,\\\"existsOnDisk\\\":0,\\\"file_hash\\\":\\\"DE97DE03ED86B5545BD7BE7F015C4256D2E3FE19\\\",\\\"fl_all\\\":\\\"0001 0000 0000 0000 0000 0110 0000 0000\\\",\\\"fl_asel\\\":0,\\\"fl_diskop\\\":0,\\\"fl_exists\\\":0,\\\"fl_fupd\\\":0,\\\"fl_ign\\\":0,\\\"fl_invl\\\":0,\\\"fl_ph\\\":0,\\\"fl_sel\\\":1,\\\"fl_sph\\\":0,\\\"fl_tfreckd\\\":0,\\\"fl_wfullidx\\\":0,\\\"fs_error_type\\\":0,\\\"have_pieces\\\":0,\\\"info\\\":{\\\"cantSyncNow\\\":\\\"\\\",\\\"deleted\\\":\\\"\\\"},\\\"inode\\\":8,\\\"mtime\\\":1674474675,\\\"otime\\\":5625,\\\"owner\\\":\\\"201B1A2E842E3BB2A3EF5BDA4E8D65DA7CFC6241\\\",\\\"owner_write_times\\\":2,\\\"path\\\":\\\"Oświadczenie o utrzymaniu członków rodziny (1).docx\\\",\\\"perm\\\":420,\\\"rctime\\\":-1,\\\"rmtime\\\":-1,\\\"size\\\":7443,\\\"state\\\":2,\\\"stateOnDisk\\\":{\\\"existsOnDisk\\\":false},\\\"time\\\":1680006896,\\\"total_pieces\\\":1,\\\"type\\\":1}\"\n\t\t\t},\n\t\t],\n\t\t\"token\": \"8RNjiIN0_knfwwav6_13731\"\n\t}"
                  },
                  "response_data_example_for_type_files": {
                    "summary": "Response data example for type \"files\":",
                    "value": {
                      "data": [
                        {
                          "ts": 1626417702000,
                          "name": "message05rCfmrFiYrhZTN.txt",
                          "state": "Downloaded",
                          "peer_id": "ECZ76SR5WB6KN25DZA7V4QTLECTRHLBC",
                          "job_id": 2,
                          "job_run_id": 26,
                          "data": "{\"hash\":\"A2815B8F46BC32A59C3CC89E94DC7F7ECA85C6AB4C8313D872709DE57D42ECF5\",\"name\":\"message05rCfmrFiYrhZTN.txt\",\"path\":\"message05rCfmrFiYrhZTN.txt\",\"size\":50000,\"state\":\"Downloaded\"}"
                        }
                      ],
                      "token": "8RNjiIN0_knfwwav6_13731"
                    }
                  },
                  "response_data_example_for_type_stats_agent": {
                    "summary": "Response data example for type \"stats_agent*\":",
                    "value": {
                      "data": [
                        {
                          "ts": 1626451210000,
                          "type": "stats_agent",
                          "peer_id": "ED4MAKVKS4JQ2VZFSPRRX3JF333OGE37",
                          "stats": "{\"cpu\":0,\"d\":[{\"id\":-2,\"l\":0,\"q\":0,\"r\":0,\"w\":0}],\"dn\":0,\"mem\":32796672,\"mtl\":0,\"ntl\":0,\"up\":0}"
                        }
                      ]
                    }
                  },
                  "response_data_example_for_type_stats_jobrun": {
                    "summary": "Response data example for type \"stats_jobrun*\":",
                    "value": {
                      "data": [
                        {
                          "ts": 1626769248000,
                          "type": "stats_jobrun",
                          "job_run_id": 26,
                          "job_id": 2,
                          "stats": "{\"speed\":0,\"size\":3284798222,\"files\":57680,\"disconnects\":0,\"deltaSize\":0,\"deltaFiles\":0,\"deltaDisconnects\":0}"
                        }
                      ]
                    }
                  },
                  "response_data_example_for_type_stats_jobrun_agent": {
                    "summary": "Response data example for type \"stats_jobrun_agent*\":",
                    "value": {
                      "data": [
                        {
                          "ts": 1626769248000,
                          "type": "stats_jobrun_agent_1h",
                          "job_run_id": 26,
                          "job_id": 2,
                          "peer_id": "EANBWWRBW5FPL5JSPDNBQWKFQHW7IIUJ",
                          "stats": "{\"deltaRedownloadedBytes\":536870912,\"deltaRedownloadedFiles\":1}"
                        }
                      ]
                    }
                  },
                  "response_data_example_for_type_stats_job": {
                    "summary": "Response data example for type \"stats_job*\":",
                    "value": {
                      "data": [
                        {
                          "ts": 1626769200000,
                          "type": "stats_job_5m",
                          "job_id": 2,
                          "stats": "{\"speed\":0,\"speedMax\":0,\"speedMin\":0,\"size\":3284798222,\"files\":57680,\"deltaSize\":0,\"deltaFiles\":0,\"deltaDisconnects\":0}"
                        }
                      ]
                    }
                  },
                  "response_data_example_for_type_stats_server_usage": {
                    "summary": "Response data example for type \"stats_server_usage*\":",
                    "value": {
                      "data": [
                        {
                          "ts": 1627297800000,
                          "type": "stats_server_usage_5m",
                          "stats": "{\"speed\":5262308,\"speedMax\":5262308,\"speedMin\":0,\"size\":10524615,\"files\":1,\"deltaSize\":10524615,\"deltaFiles\":1,\"deltaDisconnects\":0}"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "Timeseries data type.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of query. Is supported and required for type \"file_query_statuses\" only.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetTimeseriesData",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/reports/{id}/abort": {
      "put": {
        "tags": [
          "Reports building"
        ],
        "summary": "Abort Report",
        "operationId": "AbortReport",
        "description": "Abort Report building.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Report id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "AbortReport",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/reports": {
      "post": {
        "tags": [
          "Reports building"
        ],
        "summary": "Create Report",
        "operationId": "CreateReport",
        "description": "Create Report.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Report id"
                    },
                    "job_id": {
                      "type": "string",
                      "description": "Job id"
                    },
                    "job_run_id": {
                      "type": "number",
                      "description": "Job run id"
                    },
                    "report_type": {
                      "type": "string",
                      "description": "Report type."
                    },
                    "start_time": {
                      "type": "number",
                      "description": "Report start time. Null if Report is not started yet."
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "Report finish time. Null if Report is not finished yet."
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Report creation time."
                    },
                    "created_by": {
                      "type": "string",
                      "description": "Username of the user who created the Report."
                    },
                    "status": {
                      "type": "string",
                      "description": "Report status. Possible values: \ncreated - Report is created, \nwaiting_for_job_run_finish - Report is waiting for job run finish, \nwaiting_for_events - Report is waiting for events, \nin_queue - Report is in queue, \nin_progress - Report is in progress, \naborting - Report is aborting, \naborted - Report is aborted, \ncompleted - Report is completed."
                    },
                    "params": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report parameters."
                    },
                    "params.from": {
                      "type": "number",
                      "description": "Report will only include file events created later than params.from."
                    },
                    "params.to": {
                      "type": "number",
                      "description": "Report will only include file events created earlier than params.to."
                    },
                    "params.agent_ids": {
                      "type": "number",
                      "description": "List of Agent ids. Only events from Agents ids in this list will be included in the Report."
                    },
                    "params.file_event_entity_type": {
                      "type": "string",
                      "description": "List of file event entry types. Only events with entry types in this list will be included in the Report."
                    },
                    "params.files_ext": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report files extension info by file type"
                    },
                    "params.files_ext.all": {
                      "type": "string",
                      "description": "All file extension. File will include info about all entities."
                    },
                    "params.files_ext.indexed_on_source": {
                      "type": "string",
                      "description": "Indexed on source file extension. File will include info about entities indexed on source."
                    },
                    "params.files_ext.deleted_on_source": {
                      "type": "string",
                      "description": "Deleted on source file extension. File will include info about entities deleted on source."
                    },
                    "params.files_ext.archived_on_source": {
                      "type": "string",
                      "description": "Archived on source file extension. File will include info about entities archived on source."
                    },
                    "params.files_ext.skipped_on_source": {
                      "type": "string",
                      "description": "Skipped on source file extension. File will include info about entities skipped on source."
                    },
                    "params.files_ext.delivered_to_all_destinations": {
                      "type": "string",
                      "description": "Delivered to all destinations file extension. File will include info about entities delivered to all destinations."
                    },
                    "params.files_ext.not_delivered_to_destination": {
                      "type": "string",
                      "description": "Not delivered to all destinations file extension. File will include info about entities not delivered to at least one destination."
                    },
                    "result": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report result."
                    },
                    "result.step": {
                      "type": "string",
                      "description": "Report step. Appears once Report building has started."
                    },
                    "result.progress": {
                      "type": "number",
                      "description": "Report progress in percent. Appears once Report building has started."
                    },
                    "result.error": {
                      "type": "string",
                      "description": "Report error message."
                    },
                    "result.all": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file all."
                    },
                    "result.all.file": {
                      "type": "number",
                      "description": "Count of file entities."
                    },
                    "result.all.folder": {
                      "type": "number",
                      "description": "Count of folder entities."
                    },
                    "result.all.symlink": {
                      "type": "number",
                      "description": "Count of symlink entities."
                    },
                    "result.all.stream": {
                      "type": "number",
                      "description": "Count of stream entities."
                    },
                    "result.all.unknown": {
                      "type": "number",
                      "description": "Count of unknown entities."
                    },
                    "result.indexed_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file indexed_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.deleted_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file deleted_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.archived_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file archived_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.skipped_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file skipped_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.delivered_to_all_destinations": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file delivered_to_all_destinations. \nThe contents of this object are the same as for result.all."
                    },
                    "result.not_delivered_to_destination": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file not_delivered_to_destination. \nThe contents of this object are the same as for result.all."
                    }
                  },
                  "required": [
                    "id",
                    "job_id",
                    "job_run_id",
                    "report_type",
                    "start_time",
                    "finish_time",
                    "created_at",
                    "created_by",
                    "status",
                    "params",
                    "params.from",
                    "params.to",
                    "params.agent_ids",
                    "params.file_event_entity_type"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "created_at": 1744898726377,
                      "report_type": "job_run_files_report",
                      "start_time": null,
                      "finish_time": null,
                      "status": "waiting_for_events",
                      "params": {
                        "from": 1744209968374,
                        "to": 1744210074268,
                        "agent_ids": [
                          61,
                          62
                        ],
                        "file_event_entity_type": [
                          "file",
                          "folder",
                          "unknown",
                          "symlink",
                          "stream"
                        ],
                        "files_ext": {
                          "all": "csv",
                          "indexed_on_source": "csv"
                        }
                      },
                      "result": {},
                      "job_run_id": 291,
                      "job_id": 227,
                      "created_by": "user",
                      "id": 155
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "wait_for_events",
            "in": "query",
            "required": false,
            "description": "Optional flag. \nIf this parameter is present and true (equal true or 1), the Report will only start building when Job Run is finished and all events are delivered. \nExample: /reports?wait_for_events=true, /reports?wait_for_events=0",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "job_run_id": {
                    "type": "number",
                    "description": "id of Job Run to create Report for."
                  },
                  "params": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Report parameters."
                  },
                  "params.from": {
                    "type": "number",
                    "description": "Report will only include file events created later than params.from. \n If not provided, default value is Job Run start time."
                  },
                  "params.to": {
                    "type": "number",
                    "description": "Report will only include file events created earlier than params.to. \n If not provided and Job run is finished or  wait_for_events is True, default value is Job Run finish time. \n If not provided and Job run is not finished and wait_for_events is False, default value is current timestamp."
                  },
                  "params.agent_ids": {
                    "type": "number",
                    "description": "List of Agent ids. Only events from Agents ids in this list will be included in the Report. \n If at least one destination Agent is included into Report, all source Agents will be included in the Report as well. \n If at least one Agent from cluster group is included into Report, all Agents from this cluster group will be included in the Report as well. \n If not provided, all Agents will be included in the Report. \n Report building is supported for up to 300 Agents."
                  },
                  "params.file_event_entity_type": {
                    "type": "string",
                    "description": "List of file event entry types. Only events with entry types in this list will be included in the Report. \n If not provided, all file event entry types will be included in the Report. \n Possible values: \n file - files, including empty ones, \n folder - folders, \n symlink - symlinks, \n stream - streams, \n unknown - entities that could not have been identified. Agents earlier than 4.2.0 Report all entities as unknown."
                  },
                  "params.files_ext": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Report files extension info by file type"
                  },
                  "params.files_ext.all": {
                    "type": "string",
                    "description": "All file extension. File will include info about all entities. \n If not provided, the file will not be created."
                  },
                  "params.files_ext.indexed_on_source": {
                    "type": "string",
                    "description": "Indexed on source file extension. File will include info about entities indexed on source. \n If not provided, the file will not be created."
                  },
                  "params.files_ext.deleted_on_source": {
                    "type": "string",
                    "description": "Deleted on source file extension file extension. File will include info about entities deleted on source. \n If not provided, the file will not be created."
                  },
                  "params.files_ext.archived_on_source": {
                    "type": "string",
                    "description": "Archived on source file extension. File will include info about entities archived on source. \n If not provided, the file will not be created."
                  },
                  "params.files_ext.skipped_on_source": {
                    "type": "string",
                    "description": "Skipped on source file extension. File will include info about entities skipped on source. \n If not provided, the file will not be created."
                  },
                  "params.files_ext.delivered_to_all_destinations": {
                    "type": "string",
                    "description": "Delivered to all destinations file extension. File will include info about entities delivered to all destinations. \n If not provided, the file will not be created."
                  },
                  "params.files_ext.not_delivered_to_destination": {
                    "type": "string",
                    "description": "Not delivered to destination file extension. File will include info about entities not delivered to at least one destination. \n If not provided, the file will not be created."
                  }
                },
                "required": [
                  "job_run_id"
                ]
              }
            }
          }
        },
        "x-apidocName": "CreateReport",
        "x-apidocVersion": "2.0.0"
      },
      "delete": {
        "tags": [
          "Reports building"
        ],
        "summary": "Delete Reports by ids",
        "operationId": "DeleteReportsByIds",
        "description": "Delete Reports and report files by ids. All ids must be valid and user must have access to all Reports, otherwise the request will fail.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Remove Reports by ids (comma-separated list of numbers)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "DeleteReportsByIds",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/reports/{id}": {
      "delete": {
        "tags": [
          "Reports building"
        ],
        "summary": "Delete Report",
        "operationId": "DeleteReport",
        "description": "Delete Report and report files.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Report id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteReport",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Reports building"
        ],
        "summary": "Get Report by id",
        "operationId": "GetReportById",
        "description": "Returns Report.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Report id"
                    },
                    "job_id": {
                      "type": "string",
                      "description": "Job id"
                    },
                    "job_run_id": {
                      "type": "number",
                      "description": "Job run id"
                    },
                    "report_type": {
                      "type": "string",
                      "description": "Report type."
                    },
                    "start_time": {
                      "type": "number",
                      "description": "Report start time. Null if Report is not started yet."
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "Report finish time. Null if Report is not finished yet."
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Report creation time."
                    },
                    "created_by": {
                      "type": "string",
                      "description": "Username of the user who created the Report."
                    },
                    "status": {
                      "type": "string",
                      "description": "Report status. Possible values: \ncreated - Report is created, \nwaiting_for_job_run_finish - Report is waiting for job run finish, \nwaiting_for_events - Report is waiting for events, \nin_queue - Report is in queue, \nin_progress - Report is in progress, \naborting - Report is aborting, \naborted - Report is aborted, \ncompleted - Report is completed."
                    },
                    "params": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report parameters."
                    },
                    "params.from": {
                      "type": "number",
                      "description": "Report will only include file events created later than params.from."
                    },
                    "params.to": {
                      "type": "number",
                      "description": "Report will only include file events created earlier than params.to."
                    },
                    "params.agent_ids": {
                      "type": "number",
                      "description": "List of Agent ids. Only events from Agents ids in this list will be included in the Report."
                    },
                    "params.file_event_entity_type": {
                      "type": "string",
                      "description": "List of file event entry types. Only events with entry types in this list will be included in the Report."
                    },
                    "params.files_ext": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report files extension info by file type"
                    },
                    "params.files_ext.all": {
                      "type": "string",
                      "description": "All file extension. File will include info about all entities."
                    },
                    "params.files_ext.indexed_on_source": {
                      "type": "string",
                      "description": "Indexed on source file extension. File will include info about entities indexed on source."
                    },
                    "params.files_ext.deleted_on_source": {
                      "type": "string",
                      "description": "Deleted on source file extension. File will include info about entities deleted on source."
                    },
                    "params.files_ext.archived_on_source": {
                      "type": "string",
                      "description": "Archived on source file extension. File will include info about entities archived on source."
                    },
                    "params.files_ext.skipped_on_source": {
                      "type": "string",
                      "description": "Skipped on source file extension. File will include info about entities skipped on source."
                    },
                    "params.files_ext.delivered_to_all_destinations": {
                      "type": "string",
                      "description": "Delivered to all destinations file extension. File will include info about entities delivered to all destinations."
                    },
                    "params.files_ext.not_delivered_to_destination": {
                      "type": "string",
                      "description": "Not delivered to all destinations file extension. File will include info about entities not delivered to at least one destination."
                    },
                    "result": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report result."
                    },
                    "result.step": {
                      "type": "string",
                      "description": "Report step. Appears once Report building has started."
                    },
                    "result.progress": {
                      "type": "number",
                      "description": "Report progress in percent. Appears once Report building has started."
                    },
                    "result.error": {
                      "type": "string",
                      "description": "Report error message."
                    },
                    "result.all": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file all."
                    },
                    "result.all.file": {
                      "type": "number",
                      "description": "Count of file entities."
                    },
                    "result.all.folder": {
                      "type": "number",
                      "description": "Count of folder entities."
                    },
                    "result.all.symlink": {
                      "type": "number",
                      "description": "Count of symlink entities."
                    },
                    "result.all.stream": {
                      "type": "number",
                      "description": "Count of stream entities."
                    },
                    "result.all.unknown": {
                      "type": "number",
                      "description": "Count of unknown entities."
                    },
                    "result.indexed_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file indexed_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.deleted_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file deleted_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.archived_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file archived_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.skipped_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file skipped_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.delivered_to_all_destinations": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file delivered_to_all_destinations. \nThe contents of this object are the same as for result.all."
                    },
                    "result.not_delivered_to_destination": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file not_delivered_to_destination. \nThe contents of this object are the same as for result.all."
                    }
                  },
                  "required": [
                    "id",
                    "job_id",
                    "job_run_id",
                    "report_type",
                    "start_time",
                    "finish_time",
                    "created_at",
                    "created_by",
                    "status",
                    "params",
                    "params.from",
                    "params.to",
                    "params.agent_ids",
                    "params.file_event_entity_type"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "created_at": 1744190258466,
                      "report_type": "job_run_files_report",
                      "start_time": 1744191013048,
                      "finish_time": 1744191091778,
                      "status": "completed",
                      "params": {
                        "from": 1744190258446,
                        "to": 9007199254740991,
                        "agent_ids": [
                          62,
                          61
                        ],
                        "file_event_entity_type": [
                          "file",
                          "folder",
                          "unknown",
                          "symlink",
                          "stream"
                        ],
                        "files_ext": {
                          "all": "csv",
                          "indexed_on_source": "csv",
                          "skipped_on_source": "csv",
                          "deleted_on_source": "csv",
                          "archived_on_source": "csv",
                          "delivered_to_all_destinations": "csv",
                          "not_delivered_to_destination": "csv"
                        }
                      },
                      "result": {
                        "step": "Finished",
                        "progress": 100,
                        "all": {
                          "total": 98598,
                          "file": 98589,
                          "folder": 9,
                          "unknown": 0,
                          "symlink": 0,
                          "stream": 0
                        },
                        "indexed_on_source": {
                          "total": 72697,
                          "file": 72688,
                          "folder": 9,
                          "unknown": 0,
                          "symlink": 0,
                          "stream": 0
                        },
                        "deleted_on_source": {
                          "total": 0,
                          "file": 0,
                          "folder": 0,
                          "unknown": 0,
                          "symlink": 0,
                          "stream": 0
                        },
                        "archived_on_source": {
                          "total": 0,
                          "file": 0,
                          "folder": 0,
                          "unknown": 0,
                          "symlink": 0,
                          "stream": 0
                        },
                        "skipped_on_source": {
                          "total": 0,
                          "file": 0,
                          "folder": 0,
                          "unknown": 0,
                          "symlink": 0,
                          "stream": 0
                        },
                        "delivered_to_all_destinations": {
                          "total": 98598,
                          "file": 98589,
                          "folder": 9,
                          "unknown": 0,
                          "symlink": 0,
                          "stream": 0
                        },
                        "not_delivered_to_destination": {
                          "total": 0,
                          "file": 0,
                          "folder": 0,
                          "unknown": 0,
                          "symlink": 0,
                          "stream": 0
                        }
                      },
                      "id": 125,
                      "job_run_id": 290,
                      "job_id": 227,
                      "created_by": "user"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Report id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetReportById",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/reports/by_job_run/{job_run_id}": {
      "get": {
        "tags": [
          "Reports building"
        ],
        "summary": "Get Report by job run id",
        "operationId": "GetReportByJobRunId",
        "description": "Returns array of Reports for job run.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Report id"
                    },
                    "job_id": {
                      "type": "string",
                      "description": "Job id"
                    },
                    "job_run_id": {
                      "type": "number",
                      "description": "Job run id"
                    },
                    "report_type": {
                      "type": "string",
                      "description": "Report type."
                    },
                    "start_time": {
                      "type": "number",
                      "description": "Report start time. Null if Report is not started yet."
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "Report finish time. Null if Report is not finished yet."
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Report creation time."
                    },
                    "created_by": {
                      "type": "string",
                      "description": "Username of the user who created the Report."
                    },
                    "status": {
                      "type": "string",
                      "description": "Report status. Possible values: \ncreated - Report is created, \nwaiting_for_job_run_finish - Report is waiting for job run finish, \nwaiting_for_events - Report is waiting for events, \nin_queue - Report is in queue, \nin_progress - Report is in progress, \naborting - Report is aborting, \naborted - Report is aborted, \ncompleted - Report is completed."
                    },
                    "params": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report parameters."
                    },
                    "params.from": {
                      "type": "number",
                      "description": "Report will only include file events created later than params.from."
                    },
                    "params.to": {
                      "type": "number",
                      "description": "Report will only include file events created earlier than params.to."
                    },
                    "params.agent_ids": {
                      "type": "number",
                      "description": "List of Agent ids. Only events from Agents ids in this list will be included in the Report."
                    },
                    "params.file_event_entity_type": {
                      "type": "string",
                      "description": "List of file event entry types. Only events with entry types in this list will be included in the Report."
                    },
                    "params.files_ext": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report files extension info by file type"
                    },
                    "params.files_ext.all": {
                      "type": "string",
                      "description": "All file extension. File will include info about all entities."
                    },
                    "params.files_ext.indexed_on_source": {
                      "type": "string",
                      "description": "Indexed on source file extension. File will include info about entities indexed on source."
                    },
                    "params.files_ext.deleted_on_source": {
                      "type": "string",
                      "description": "Deleted on source file extension. File will include info about entities deleted on source."
                    },
                    "params.files_ext.archived_on_source": {
                      "type": "string",
                      "description": "Archived on source file extension. File will include info about entities archived on source."
                    },
                    "params.files_ext.skipped_on_source": {
                      "type": "string",
                      "description": "Skipped on source file extension. File will include info about entities skipped on source."
                    },
                    "params.files_ext.delivered_to_all_destinations": {
                      "type": "string",
                      "description": "Delivered to all destinations file extension. File will include info about entities delivered to all destinations."
                    },
                    "params.files_ext.not_delivered_to_destination": {
                      "type": "string",
                      "description": "Not delivered to all destinations file extension. File will include info about entities not delivered to at least one destination."
                    },
                    "result": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Report result."
                    },
                    "result.step": {
                      "type": "string",
                      "description": "Report step. Appears once Report building has started."
                    },
                    "result.progress": {
                      "type": "number",
                      "description": "Report progress in percent. Appears once Report building has started."
                    },
                    "result.error": {
                      "type": "string",
                      "description": "Report error message."
                    },
                    "result.all": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file all."
                    },
                    "result.all.file": {
                      "type": "number",
                      "description": "Count of file entities."
                    },
                    "result.all.folder": {
                      "type": "number",
                      "description": "Count of folder entities."
                    },
                    "result.all.symlink": {
                      "type": "number",
                      "description": "Count of symlink entities."
                    },
                    "result.all.stream": {
                      "type": "number",
                      "description": "Count of stream entities."
                    },
                    "result.all.unknown": {
                      "type": "number",
                      "description": "Count of unknown entities."
                    },
                    "result.indexed_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file indexed_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.deleted_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file deleted_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.archived_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file archived_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.skipped_on_source": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file skipped_on_source. \nThe contents of this object are the same as for result.all."
                    },
                    "result.delivered_to_all_destinations": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file delivered_to_all_destinations. \nThe contents of this object are the same as for result.all."
                    },
                    "result.not_delivered_to_destination": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Entities count that are (will be) included in report file not_delivered_to_destination. \nThe contents of this object are the same as for result.all."
                    }
                  },
                  "required": [
                    "id",
                    "job_id",
                    "job_run_id",
                    "report_type",
                    "start_time",
                    "finish_time",
                    "created_at",
                    "created_by",
                    "status",
                    "params",
                    "params.from",
                    "params.to",
                    "params.agent_ids",
                    "params.file_event_entity_type"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": [
                      {
                        "created_at": 1744898927808,
                        "report_type": "job_run_files_report",
                        "start_time": 1744898927815,
                        "finish_time": null,
                        "status": "in_progress",
                        "params": {
                          "from": 1744209968374,
                          "to": 1744210074268,
                          "agent_ids": [
                            61,
                            62
                          ],
                          "file_event_entity_type": [
                            "file",
                            "folder",
                            "unknown",
                            "symlink",
                            "stream"
                          ],
                          "files_ext": {
                            "all": "csv",
                            "indexed_on_source": "csv"
                          }
                        },
                        "result": {
                          "step": "Collecting files last known state",
                          "progress": 5
                        },
                        "job_run_id": 291,
                        "job_id": 227,
                        "created_by": "user",
                        "id": 157
                      }
                    ]
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "job_run_id",
            "in": "path",
            "required": true,
            "description": "id of Job run to get Reports for.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetReportByJobRunId",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/reports/{id}/download": {
      "get": {
        "tags": [
          "Reports building"
        ],
        "summary": "Get Report file",
        "operationId": "GetReportFileReadable",
        "description": "Get Report file.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Report id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "file_type",
            "in": "query",
            "required": false,
            "description": "Type of the file.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file_name",
            "in": "query",
            "required": false,
            "description": "Optional file name to download as. \nIf not provided, the file will be downloaded as <current_timestamp>.csv.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "GetReportFileReadable",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents": {
      "post": {
        "tags": [
          "Runs"
        ],
        "summary": "Add Agent to run",
        "operationId": "AddAgentsToRun",
        "description": "Adds new Agents to the currnet job run. Fails if the job is not running.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent_info": {
                    "type": "string",
                    "description": "array of Agent ids and paths"
                  }
                },
                "required": [
                  "agent_info"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": [
                    {
                      "id": 10,
                      "path": {
                        "macro": "%FOLDERS_STORAGE%",
                        "win": "job",
                        "osx": "job",
                        "linux": "job",
                        "android": "job",
                        "xbox": "job"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-apidocName": "AddAgentsToRun",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get run Agents",
        "operationId": "RunAgents",
        "description": "Returns job status for all its Agents. See get Agent for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Requested run Agents offset",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Requested run Agents limit",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "RunAgents",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/files": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Add files",
        "operationId": "AddFiles",
        "description": "Add files map to Distribution Job run (for jobs with %GETFILES% macro in source Agent path)",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "files": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Files. Maximum 1000 files per request."
                  },
                  "files.src": {
                    "type": "string",
                    "description": "Source file absolute path"
                  },
                  "files.dst": {
                    "type": "string",
                    "description": "Relative file path in destination folder"
                  },
                  "commit": {
                    "type": "boolean",
                    "description": "Flag which indicates that this is the last call containing list of files. Default value is false."
                  }
                },
                "required": [
                  "files.src",
                  "files.dst"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "files": [
                      {
                        "src": "/source/test/file1",
                        "dst": "dir/fileA"
                      }
                    ],
                    "commit": true
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "AddFiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs": {
      "post": {
        "tags": [
          "Runs"
        ],
        "summary": "Create run",
        "operationId": "CreateRun",
        "description": "Creates job run",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "job_id": {
                    "type": "number",
                    "description": "Job id"
                  },
                  "agents": {
                    "type": "number",
                    "description": "List of Agents to run on. \nOnly available if run type is run. \nMust not be specified for dry_run. \nIf specified must not be empty. If not specified, job will be run on all Agents."
                  },
                  "run_type": {
                    "type": "string",
                    "description": "Run type. \nrun - available for all types of jobs \ndry_run - available only for storage_tiering_and_archival. This type of run does not support List of agents."
                  }
                },
                "required": [
                  "job_id"
                ]
              },
              "examples": {
                "start_job_run": {
                  "summary": "Start job run:",
                  "value": {
                    "job_id": 1,
                    "agents": [
                      3,
                      5
                    ]
                  }
                },
                "start_dry_run": {
                  "summary": "Start dry run:",
                  "value": {
                    "job_id": 5,
                    "run_type": "dry_run"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateRun",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get runs",
        "operationId": "GetRuns",
        "description": "Returns job runs in array. See get run for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "after_id",
            "in": "query",
            "required": false,
            "description": "Job run ID from which to get the list of job runs. The Job run with a specified ID won't be included in the response. Use the last received Job run ID. Skip this parameter to get the Job runs list from the beginning.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Requested job runs limit, default is 10, maximum is 500",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Requested job runs order. Possible values: \nasc - Job runs in ascending order \ndesc - Job runs in descending order (default)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort requested job runs. Possible values: \ntype - Job type \nname - Job run name \nstart_time - Job run start time (default) \nfinish_time - Job run finish time",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "job_id",
            "in": "query",
            "required": false,
            "description": "Filter requested job runs by job id, unset by default. Cannot be used along with job_name",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "job_name",
            "in": "query",
            "required": false,
            "description": "Filter requested job runs by job name, unset by default. Cannot be used along with job_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status:",
            "in": "query",
            "required": false,
            "description": "status:",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from:",
            "in": "query",
            "required": false,
            "description": "from:",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to:",
            "in": "query",
            "required": false,
            "description": "to:",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "GetRuns",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/files/dehydrate": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Dehydrate files",
        "operationId": "DehydrateFiles",
        "description": "Files that match this rule are excluded from caching. Supported by File Caching and Hybrid Work jobs.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "agents": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of agents"
                    },
                    "agents.id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "agents.name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "agents.status": {
                      "type": "string",
                      "description": "Request status for this agent. Possible values: \nsent - List of files sent for this agent \nerror - Agent has an error"
                    },
                    "agents.errorMessage": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "agents.info": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Dictionary with counts of processed files"
                    }
                  },
                  "required": [
                    "agents",
                    "agents.id",
                    "agents.name",
                    "agents.status"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "agents": [
                        {
                          "id": 9,
                          "name": "WIN-CACHE",
                          "status": "sent",
                          "info": {
                            "inCorrectStateCount": 1,
                            "willBeProcessedCount": 0
                          }
                        },
                        {
                          "id": 12,
                          "name": "WIN-LAPTOP",
                          "status": "error",
                          "errorMessage": "Agent is offline"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "files": {
                    "type": "string",
                    "description": "Files. Maximum 1000 files per request."
                  },
                  "agents": {
                    "type": "number",
                    "description": "Agents. Array of agent ids, if you want specify"
                  },
                  "groups": {
                    "type": "number",
                    "description": "Groups. Array of groups ids, if you want specify"
                  }
                }
              },
              "examples": {
                "request_body_example_for_all_job_run_agents": {
                  "summary": "Request body example for all job run agents:",
                  "value": {
                    "files": [
                      "/source/test/file1",
                      "/source/test/folder2"
                    ]
                  }
                },
                "request_body_example_for_set_agent_and_group": {
                  "summary": "Request body example for set agent and group:",
                  "value": "{\n\t\t\"agents\": [5],\n\t\t\"groups\": [2,3],\n\t\t\"files\": [\n\t\t\t\t\"/source/test/folder3\"\n\t\t]\n\t}\n\nPlease set the maximum request timeout (more than 30 sec) because the request may take a long time."
                }
              }
            }
          }
        },
        "x-apidocName": "DehydrateFiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/file_locks/revoke_by_filter": {
      "post": {
        "tags": [
          "Runs"
        ],
        "summary": "Force revoke File Locks by filter",
        "operationId": "ForceRevokeFileLocksByFilter",
        "description": "Forcefully revokes all file locks, or file locks that match filter. Returns array of revoked locks. Specify at least one criterion to revoke locks in body.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_locks": {
                      "type": "number",
                      "description": "Total locks. Total amount of revoked locks."
                    },
                    "successfully_revoked": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Successfully revoked. Array of revoked locks."
                    },
                    "successfully_revoked.access": {
                      "type": "string",
                      "description": "Access. Possible values: \nR - Read only \nW - Write only \nD - Delete only \nRW - Read & Write \nRD - Read & Delete \nWD - Write & Delete \nRWD - Full access \nNo access - No access"
                    },
                    "successfully_revoked.shared_access": {
                      "type": "string",
                      "description": "Shared access. Possible values are the same as for successfully_revoked.access."
                    },
                    "successfully_revoked.duration": {
                      "type": "number",
                      "description": "Duration. Duration of a lock in seconds."
                    },
                    "successfully_revoked.lock_acquire_time": {
                      "type": "number",
                      "description": "Lock acquire time. UTC timestamp of file lock acquisition."
                    },
                    "successfully_revoked.lock_owner": {
                      "type": "string",
                      "description": "Lock owner. deviceid of Agent that has lock."
                    },
                    "successfully_revoked.lock_owner_name": {
                      "type": "string",
                      "description": "Lock owner name. Name of Agent that has lock."
                    },
                    "successfully_revoked.exclusive_owner": {
                      "type": "string",
                      "description": "Exclusive owner. deviceid of Agent that is exclusive owner."
                    },
                    "successfully_revoked.exclusive_owner_name": {
                      "type": "string",
                      "description": "Exclusive owner name. Name of Agent that is exclusive owner."
                    },
                    "successfully_revoked.file_name": {
                      "type": "string",
                      "description": "File name."
                    },
                    "successfully_revoked.path": {
                      "type": "string",
                      "description": "Path."
                    },
                    "successfully_revoked.process_name": {
                      "type": "string",
                      "description": "Process name. Name of the process that locked the file."
                    },
                    "successfully_revoked.user_name": {
                      "type": "string",
                      "description": "User name. Name of the user that locked the file."
                    }
                  },
                  "required": [
                    "total_locks",
                    "successfully_revoked",
                    "successfully_revoked.access",
                    "successfully_revoked.shared_access",
                    "successfully_revoked.duration",
                    "successfully_revoked.lock_acquire_time",
                    "successfully_revoked.lock_owner",
                    "successfully_revoked.lock_owner_name",
                    "successfully_revoked.exclusive_owner",
                    "successfully_revoked.exclusive_owner_name",
                    "successfully_revoked.file_name",
                    "successfully_revoked.path",
                    "successfully_revoked.process_name",
                    "successfully_revoked.user_name"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "total_locks": 0,
                      "successfully_revoked": []
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filter": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Filter. Filter for locks. Specify at least one criterion."
                  },
                  "filter.search": {
                    "type": "string",
                    "description": "Search. Matches by substring for process name, path and file name, user name."
                  },
                  "filter.duration": {
                    "type": "number",
                    "description": "Duration. Minimum duration in seconds."
                  },
                  "filter.lock_owner": {
                    "type": "string",
                    "description": "Lock owner. Allowed lock owner(s) (deviceid of Agent)."
                  },
                  "filter.exclusive_owner": {
                    "type": "string",
                    "description": "Exclusive owner. Allowed exclusive owner(s) (deviceid of Agent). Set to empty string to include locks without exclusive owner."
                  },
                  "filter.access": {
                    "type": "string",
                    "description": "Access. Allowed access value(s). Possible values: \nR - Read only \nW - Write only \nD - Delete only \nRW - Read & Write \nRD - Read & Delete \nWD - Write & Delete \nRWD - Full access \nNo access - No access"
                  },
                  "filter.shared_access": {
                    "type": "string",
                    "description": "Shared access. Possible values are the same as for filter.access."
                  },
                  "revoke_all_locks": {
                    "type": "boolean",
                    "description": "Revoke all locks flag. If it is true, filter will be ignored and all locks will be revoked."
                  },
                  "max_entries": {
                    "type": "number",
                    "description": "Max entries. Max amount of locks in response."
                  }
                }
              },
              "examples": {
                "request_body_example_for_file_locks_list_request": {
                  "summary": "Request body example for File Locks list request:",
                  "value": "{\n\t\t\"max_entries\": 2,\n\t\t\"filter\": {\n\t\t\t\"search\": \"file1.txt\"\n\t\t\t\"lock_owner\": [\"EAGXF2ZZN4IHSGQZB3URF6YUOBDOVBSG\"],\n\t\t\t\"access\": [\"RW\"]\n\t\t}\n\t}\n\nPlease set the maximum request timeout (more than 30 sec) because the request may take a long time."
                }
              }
            }
          }
        },
        "x-apidocName": "ForceRevokeFileLocksByFilter",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/file_locks/revoke_by_path": {
      "post": {
        "tags": [
          "Runs"
        ],
        "summary": "Force revoke File Locks by path",
        "operationId": "ForceRevokeFileLocksByPath",
        "description": "Revokes file locks by provided path, file_name and lock_owner. Returns list of locks that were failed to revoke.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "failed_to_revoke": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Failed to revoke. Array of locks that were failed to revoke."
                    },
                    "file_name": {
                      "type": "string",
                      "description": "File name."
                    },
                    "path": {
                      "type": "string",
                      "description": "Path."
                    },
                    "reason": {
                      "type": "string",
                      "description": "Reason."
                    }
                  },
                  "required": [
                    "failed_to_revoke",
                    "file_name",
                    "path",
                    "reason"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "failed_to_revoke": []
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "locks_to_revoke": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Locks to revoke. Array or locks to revoke. Required and must not be empty."
                  },
                  "locks_to_revoke.file_name": {
                    "type": "string",
                    "description": "File name."
                  },
                  "locks_to_revoke.path": {
                    "type": "string",
                    "description": "Path. Path relatively to job folder."
                  },
                  "locks_to_revoke.lock_owner": {
                    "type": "string",
                    "description": "Lock owner. If not provided, all locks (applied by all Agents) will be revoked for this file."
                  }
                },
                "required": [
                  "locks_to_revoke",
                  "locks_to_revoke.file_name",
                  "locks_to_revoke.path"
                ]
              },
              "examples": {
                "request_body_example_for_file_locks_list_request": {
                  "summary": "Request body example for File Locks list request:",
                  "value": "{\n\t\t\"locks_to_revoke\": [\n\t\t\t{\n\t\t\t\t\"file_name\": \"file1.txt\",\n\t\t\t\t\"path\": \"folder1/folder2\",\n\t\t\t\t\"lock_owner\": \"EAGXF2ZZN4IHSGQZB3URF6YUOBDOVBSG\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"file_name\": \"file2.txt\",\n\t\t\t\t\"path\": \"folder1/folder2\"\n\t\t\t}\n\t\t]\n\t}\n\nPlease set the maximum request timeout (more than 30 sec) because the request may take a long time."
                }
              }
            }
          }
        },
        "x-apidocName": "ForceRevokeFileLocksByPath",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/file_locks": {
      "post": {
        "tags": [
          "Runs"
        ],
        "summary": "Get File locks",
        "operationId": "GetFileLocks",
        "description": "Returns a list of locks from Lock server. On request, Lock server iterates over locked files and builds a cache (snapshot) that provides all the details about locked files for API requests. Building the cache is the most resource-intensive operation and may take a significant amount of time. There is a single cache per Agent, shared across all jobs and users. Requests for locks from different Job Runs using the same Lock server can lead to performance degradation, as the cache is refreshed with each request. All parameters in the request body are optional. An error is returned if an expired continuation_token is provided.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "cache_age": {
                      "type": "number",
                      "description": "Cache age. Cache age in seconds."
                    },
                    "continuation_token": {
                      "type": "string",
                      "description": "Continuation token. Not returned if end of list was reached or no_token is true."
                    },
                    "current_time": {
                      "type": "number",
                      "description": "Current time. Lock server's UTC timestamp in seconds."
                    },
                    "total_locks": {
                      "type": "number",
                      "description": "Total locks. Total amount of locks."
                    },
                    "locks": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Locks on files. Array of locked files."
                    },
                    "locks.access": {
                      "type": "string",
                      "description": "Access. Possible values: \nR - Read only \nW - Write only \nD - Delete only \nRW - Read & Write \nRD - Read & Delete \nWD - Write & Delete \nRWD - Full access \nNo access - No access"
                    },
                    "locks.shared_access": {
                      "type": "string",
                      "description": "Shared access. Possible values are the same as for locks.access."
                    },
                    "locks.duration": {
                      "type": "number",
                      "description": "Duration. Duration of a lock in seconds."
                    },
                    "locks.lock_acquire_time": {
                      "type": "number",
                      "description": "Lock acquire time. UTC timestamp of file lock acquisition."
                    },
                    "locks.lock_owner": {
                      "type": "string",
                      "description": "Lock owner. deviceid of Agent that has lock."
                    },
                    "locks.lock_owner_name": {
                      "type": "string",
                      "description": "Lock owner name. Name of Agent that has lock."
                    },
                    "locks.exclusive_owner": {
                      "type": "string",
                      "description": "Exclusive owner. deviceid of Agent that is exclusive owner."
                    },
                    "locks.exclusive_owner_name": {
                      "type": "string",
                      "description": "Exclusive owner name. Name of Agent that is exclusive owner."
                    },
                    "locks.file_name": {
                      "type": "string",
                      "description": "File name."
                    },
                    "locks.path": {
                      "type": "string",
                      "description": "Path."
                    },
                    "locks.process_name": {
                      "type": "string",
                      "description": "Process name. Name of the process that locked the file."
                    },
                    "locks.user_name": {
                      "type": "string",
                      "description": "User name. Name of the user that locked the file."
                    }
                  },
                  "required": [
                    "cache_age",
                    "current_time",
                    "total_locks",
                    "locks",
                    "locks.access",
                    "locks.shared_access",
                    "locks.duration",
                    "locks.lock_acquire_time",
                    "locks.lock_owner",
                    "locks.lock_owner_name",
                    "locks.exclusive_owner",
                    "locks.exclusive_owner_name",
                    "locks.file_name",
                    "locks.path",
                    "locks.process_name",
                    "locks.user_name"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": "{\n\t\"cache_age\": 500,\n\t\"current_time\": 1721645908,\n\t\"total_locks\": 200,\n\t\"locks\": [\n\t\t{\n\t\t\t\"access\": \"R\",\n\t\t\t\"shared_access\": \"RW\",\n\t\t\t\"duration\": 44,\n\t\t\t\"exclusive_owner\": \"\",\n\t\t\t\"exclusive_owner_name\": \"\",\n\t\t\t\"file_name\": \"file1.txt\",\n\t\t\t\"lock_acquire_time\": 1721645864,\n\t\t\t\"lock_owner\": \"EAGXF2ZZN4IHSGQZB3URF6YUOBDOVBSG\",\n\t\t\t\"lock_owner_name\": \"agent 1\",\n\t\t\t\"path\": \"1/level1/level2_2\",\n\t\t\t\"process_name\": \"some-process.exe\",\n\t\t\t\"user_name\": \"User Name 1\"\n\t\t},\n\t\t{\n\t\t\t\"access\": \"RW\",\n\t\t\t\"shared_access\": \"RW\",\n\t\t\t\"duration\": 44,\n\t\t\t\"exclusive_owner\": \"EAGXF2ZZN4IHSGQZB3URF6YUOBDOVBSG\",\n\t\t\t\"exclusive_owner_name\": \"agent 1\",\n\t\t\t\"file_name\": \"file2.txt\",\n\t\t\t\"lock_acquire_time\": 1721645864,\n\t\t\t\"lock_owner\": \"EAGXF2ZZN4IHSGQZB3URF6YUOBDOVBSG\",\n\t\t\t\"lock_owner_name\": \"agent 1\",\n\t\t\t\"path\": \"1/level1/level2_2\",\n\t\t\t\"process_name\": \"\",\n\t\t\t\"user_name\": \"User Name 2\"\n\t\t}\n\t],\n}"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "continuation_token": {
                    "type": "string",
                    "description": "Continuation token. Use this param to continue iteration over locks with initially specified start_from, max_entries, cache_ttl, filter and sort. If token is provided, those fields will be ignored. Token can be used only once. New one is provided in response. When cache is reset, all tokens become invalid. If token is invalid, request will return error."
                  },
                  "no_token": {
                    "type": "boolean",
                    "description": "No token. If true, token will not be returned."
                  },
                  "start_from": {
                    "type": "number",
                    "description": "Start from. Skip locks from locks list. Ignored if continuation_token is provided."
                  },
                  "max_entries": {
                    "type": "number",
                    "description": "Max entries. Max amount of locks in response. Ignored if continuation_token is provided."
                  },
                  "cache_ttl": {
                    "type": "number",
                    "description": "Cache time to live. Max acceptable lifetime of cache. Checking whether the cache needs to be reset is performed only during handling request. Cache is refreshed only if cache_ttl is exceeded or if request is made for another Job run. If provided cache_ttl is 0, cache is refreshed. Ignored if continuation_token is provided."
                  },
                  "filter": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Filter. Filter locks. Specify at least one criterion. Ignored if continuation_token is provided."
                  },
                  "filter.search": {
                    "type": "string",
                    "description": "Search. Matches by substring for process name, path and file name, user name."
                  },
                  "filter.duration": {
                    "type": "number",
                    "description": "Duration. Minimum duration in seconds."
                  },
                  "filter.lock_owner": {
                    "type": "string",
                    "description": "Lock owner. Allowed lock owner(s) (deviceid of Agent)."
                  },
                  "filter.exclusive_owner": {
                    "type": "string",
                    "description": "Exclusive owner. Allowed exclusive owner(s) (deviceid of Agent). Set to empty string to include locks without exclusive owner."
                  },
                  "filter.access": {
                    "type": "string",
                    "description": "Access. Allowed access value(s). Possible values: \nR - Read only \nW - Write only \nD - Delete only \nRW - Read & Write \nRD - Read & Delete \nWD - Write & Delete \nRWD - Full access \nNo access - No access"
                  },
                  "filter.shared_access": {
                    "type": "string",
                    "description": "Shared access. Allowed shared access value(s). Possible values are the same as for filter.access."
                  },
                  "sort": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Sort. Locks sort. Ignored if continuation_token is provided."
                  },
                  "sort.field": {
                    "type": "string",
                    "description": "Field. Field to order by. Possible values: any field in file lock object (see locks below)."
                  },
                  "sort.order": {
                    "type": "string",
                    "description": "Order. Sort Order. Possible values: \nasc - Ascending sort \ndesc - Descending sort"
                  }
                }
              },
              "examples": {
                "request_body_example_for_file_locks_request": {
                  "summary": "Request body example for File Locks request:",
                  "value": "{\n\t\t\"cache_ttl\": 0,\n\t\t\"sort\": [\n\t \t   {\n\t\t\t\t\"column\": \"duration\",\n\t\t\t\t\"order\": \"desc\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"column\": \"path\",\n\t\t\t\t\"order\": \"asc\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"column\": \"file_name\",\n\t\t\t\t\"order\": \"asc\"\n\t\t\t}\n\t\t],\n\t\t\"filter\": {\n\t\t\t\"lock_owner\": [\"EAGXF2ZZN4IHSGQZB3URF6YUOBDOVBSG\"],\n\t\t\t\"access\": [\"R\", \"RW\"],\n\t\t\t\"duration\": 15\n\t\t},\n\t\t\"max_entries\": 100,\n\t\t\"start_from\": 200\n\t}\n\nPlease set the maximum request timeout (more than 30 sec) because the request may take a long time."
                }
              }
            }
          }
        },
        "x-apidocName": "GetFileLocks",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get run by id",
        "operationId": "GetRun",
        "description": "Returns job info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Job run id"
                    },
                    "job_id": {
                      "type": "number",
                      "description": "Job id"
                    },
                    "type": {
                      "type": "string",
                      "description": "Job type"
                    },
                    "run_type": {
                      "type": "string",
                      "description": "Run type"
                    },
                    "name": {
                      "type": "string",
                      "description": "Job name"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Specify if currently running"
                    },
                    "run_id": {
                      "type": "number",
                      "description": "Sequential number of job run"
                    },
                    "status": {
                      "type": "string",
                      "description": "Job status. Possible values: \nworking - Job run is working \nfinished - Job run is finished successfully \naborted - Job run was aborted \ntimeout - Job run was aborted by timeout \npaused - Job run is paused"
                    },
                    "files_total": {
                      "type": "number",
                      "description": "Total number of files"
                    },
                    "size_total": {
                      "type": "number",
                      "description": "Total files size in bytes"
                    },
                    "files_completed": {
                      "type": "number",
                      "description": "Number of completed files"
                    },
                    "size_completed": {
                      "type": "number",
                      "description": "Size of completed files in bytes"
                    },
                    "transferred": {
                      "type": "number",
                      "description": "Bytes transferred"
                    },
                    "agents_completed": {
                      "type": "number",
                      "description": "Number of completed Agents"
                    },
                    "agents_total": {
                      "type": "number",
                      "description": "Number of all job Agents"
                    },
                    "agents_inprogress": {
                      "type": "number",
                      "description": "Number of Agents in progress"
                    },
                    "agents_offline": {
                      "type": "number",
                      "description": "Number of offline Agents"
                    },
                    "agents_failed": {
                      "type": "number",
                      "description": "Number of failed Agents"
                    },
                    "start_time": {
                      "type": "number",
                      "description": "Job run start time (timestamp in seconds). For sync, file_caching and hybrid_work jobs it's the time when status working was set last time."
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "Job run finish time (timestamp in seconds). Not available for sync, file_caching and hybrid_work job"
                    },
                    "duration": {
                      "type": "number",
                      "description": "Job run duration (in seconds). For active sync, file_caching and hybrid_work jobs (status is not finished) it's difference between current time and start_time, otherwise it has 0 value."
                    },
                    "last_synced": {
                      "type": "number",
                      "description": "sync, file_caching and hybrid_work job last synced time (in seconds)"
                    },
                    "down_speed": {
                      "type": "number",
                      "description": "Total download speed"
                    },
                    "up_speed": {
                      "type": "number",
                      "description": "Total upload speed"
                    },
                    "max_speed": {
                      "type": "number",
                      "description": "Maximum job run speed"
                    },
                    "transfer_eta": {
                      "type": "number",
                      "description": "Job run transfer eta in seconds. Not available for script job"
                    },
                    "progress": {
                      "type": "number",
                      "description": "Job run transfer progress. Not available for script job"
                    },
                    "started_by": {
                      "type": "string",
                      "description": "User who started job run. Empty in case job run was started by scheduler"
                    },
                    "errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of errors"
                    },
                    "errors.code": {
                      "type": "number",
                      "description": "Error code (deprecated since 2.9.1)"
                    },
                    "errors.code_str": {
                      "type": "string",
                      "description": "Error string code"
                    },
                    "errors.message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "errors.agent_id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "errors.folderid": {
                      "type": "number",
                      "description": "Transfer id"
                    },
                    "event_logs_complete": {
                      "type": "boolean",
                      "description": "A property indicates that all event have been delivered. Applicable only to finished job runs except for sync, file_caching and hybrid_work job"
                    }
                  },
                  "required": [
                    "id",
                    "job_id",
                    "type",
                    "run_type",
                    "name",
                    "active",
                    "run_id",
                    "status",
                    "agents_completed",
                    "agents_total",
                    "agents_inprogress",
                    "agents_offline",
                    "agents_failed",
                    "errors",
                    "errors.code_str",
                    "errors.message"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "name": "Distribution Job",
                      "job_id": 1,
                      "status": "aborted",
                      "run_id": 1,
                      "files_total": 10,
                      "size_total": 104857600,
                      "files_completed": 40,
                      "size_completed": 419430400,
                      "transferred": 314572800,
                      "agents_completed": 1,
                      "agents_total": 4,
                      "agents_inprogress": 3,
                      "agents_offline": 0,
                      "agents_failed": 0,
                      "active": false,
                      "duration": 63,
                      "type": "distribution",
                      "start_time": 1531151875,
                      "finish_time": 1531151938,
                      "down_speed": 0,
                      "up_speed": 0,
                      "max_speed": 1539992,
                      "errors": [],
                      "event_logs_complete": true
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/files/hydrate": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Hydrate files",
        "operationId": "HydrateFiles",
        "description": "Files that match this rule are automatically downloaded in cache. Supported by File Caching and Hybrid Work jobs.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "agents": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of agents"
                    },
                    "agents.id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "agents.name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "agents.status": {
                      "type": "string",
                      "description": "Request status for this agent. Possible values: \nsent - List of files sent for this agent \nerror - Agent has an error"
                    },
                    "agents.errorMessage": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "agents.info": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Dictionary with counts of processed files"
                    }
                  },
                  "required": [
                    "agents",
                    "agents.id",
                    "agents.name",
                    "agents.status"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "agents": [
                        {
                          "id": 9,
                          "name": "WIN-CACHE",
                          "status": "sent",
                          "info": {
                            "inCorrectStateCount": 1,
                            "willBeProcessedCount": 0
                          }
                        },
                        {
                          "id": 12,
                          "name": "WIN-LAPTOP",
                          "status": "error",
                          "errorMessage": "Agent is offline"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "files": {
                    "type": "string",
                    "description": "Files. Maximum 1000 files per request."
                  },
                  "agents": {
                    "type": "number",
                    "description": "Agents. Array of agent ids, if you want specify"
                  },
                  "groups": {
                    "type": "number",
                    "description": "Groups. Array of groups ids, if you want specify"
                  }
                }
              },
              "examples": {
                "request_body_example_for_all_job_run_agents": {
                  "summary": "Request body example for all job run agents:",
                  "value": {
                    "files": [
                      "/source/test/file1",
                      "/source/test/folder2"
                    ]
                  }
                },
                "request_body_example_for_set_agent_and_group": {
                  "summary": "Request body example for set agent and group:",
                  "value": "{\n\t\t\"agents\": [5],\n\t\t\"groups\": [2,3],\n\t\t\"files\": [\n\t\t\t\t\"/source/test/folder3\"\n\t\t]\n\t}\n\nPlease set the maximum request timeout (more than 30 sec) because the request may take a long time."
                }
              }
            }
          }
        },
        "x-apidocName": "HydrateFiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/pause": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Pause run",
        "operationId": "PauseRun",
        "description": "Pause job run",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "PauseRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/files/pin": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Pin files",
        "operationId": "PinFiles",
        "description": "Files that match this rule are always kept in cache and are not cleared automatically. Supported by File Caching and Hybrid Work jobs.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "agents": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of agents"
                    },
                    "agents.id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "agents.name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "agents.status": {
                      "type": "string",
                      "description": "Request status for this agent. Possible values: \nsent - List of files sent for this agent \nerror - Agent has an error"
                    },
                    "agents.errorMessage": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "agents.info": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Dictionary with counts of processed files"
                    }
                  },
                  "required": [
                    "agents",
                    "agents.id",
                    "agents.name",
                    "agents.status"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "agents": [
                        {
                          "id": 9,
                          "name": "WIN-CACHE",
                          "status": "sent",
                          "info": {
                            "inCorrectStateCount": 1,
                            "willBeProcessedCount": 0
                          }
                        },
                        {
                          "id": 12,
                          "name": "WIN-LAPTOP",
                          "status": "error",
                          "errorMessage": "Agent is offline"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "files": {
                    "type": "string",
                    "description": "Files. Maximum 1000 files per request."
                  },
                  "agents": {
                    "type": "number",
                    "description": "Agents. Array of agent ids, if you want specify"
                  },
                  "groups": {
                    "type": "number",
                    "description": "Groups. Array of groups ids, if you want specify"
                  }
                }
              },
              "examples": {
                "request_body_example_for_all_job_run_agents": {
                  "summary": "Request body example for all job run agents:",
                  "value": {
                    "files": [
                      "/source/test/file1",
                      "/source/test/folder2"
                    ]
                  }
                },
                "request_body_example_for_set_agent_and_group": {
                  "summary": "Request body example for set agent and group:",
                  "value": "{\n\t\t\"agents\": [5],\n\t\t\"groups\": [2,3],\n\t\t\"files\": [\n\t\t\t\t\"/source/test/folder3\"\n\t\t]\n\t}\n\nPlease set the maximum request timeout (more than 30 sec) because the request may take a long time."
                }
              }
            }
          }
        },
        "x-apidocName": "PinFiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/restart": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Restart Agents in an active run",
        "operationId": "RestartAgentsInRun",
        "description": "",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent_ids": {
                    "type": "number",
                    "description": "array of Agent id"
                  }
                },
                "required": [
                  "agent_ids"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": [
                    7,
                    11,
                    12
                  ]
                }
              }
            }
          }
        },
        "x-apidocName": "RestartAgentsInRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/resume": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Resume run",
        "operationId": "ResumeRun",
        "description": "Resume job run",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "ResumeRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/{agent_id}": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get run Agent",
        "operationId": "RunAgent",
        "description": "Returns job run status for particular Agent.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "agent_archive_size": {
                      "type": "number",
                      "description": "Archive size managed by Agent (bytes). Is available for Agents of version 3.5.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "agent_archive_files": {
                      "type": "number",
                      "description": "Archive managed by Agent (files). Is available for Agents of version 4.0.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "agent_id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "agent_name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "agent_version": {
                      "type": "string",
                      "description": "Agent version"
                    },
                    "bandwidth": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Applied bandwidth settings"
                    },
                    "bandwidth.down": {
                      "type": "number",
                      "description": "Bandwidth down limit"
                    },
                    "bandwidth.up": {
                      "type": "number",
                      "description": "Bandwidth up limit"
                    },
                    "data_transferred_down": {
                      "type": "number",
                      "description": "Pure data downloaded (bytes). Is equal to 0 for followers. Except for jobs: script"
                    },
                    "data_transferred_up": {
                      "type": "number",
                      "description": "Pure data uploaded (bytes). Is equal to 0 for followers. Except for jobs: script"
                    },
                    "date_added": {
                      "type": "number",
                      "description": "Agent added to server time"
                    },
                    "deduplication_speed": {
                      "type": "number",
                      "description": "Deduplication speed. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "down_data_speed": {
                      "type": "number",
                      "description": "Agent pure data download speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "down_files_per_second": {
                      "type": "number",
                      "description": "Download files speed. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "down_speed": {
                      "type": "number",
                      "description": "Agent download speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "download_bytes_percent": {
                      "type": "number",
                      "description": "Download bytes percent. Is equal to 100% for followers. Except for jobs: script"
                    },
                    "download_files_percent": {
                      "type": "number",
                      "description": "Download files percent. Is equal to 100% for followers. Except for jobs: script"
                    },
                    "duration": {
                      "type": "number",
                      "description": "Agent duration for job run. Is equal to 0 for followers. Except for jobs: sync, file_caching, hybrid_work"
                    },
                    "errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of errors"
                    },
                    "errors.code": {
                      "type": "number",
                      "description": "Error code (deprecated since 2.9.1)"
                    },
                    "errors.code_str": {
                      "type": "string",
                      "description": "Error string code"
                    },
                    "errors.message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "errors.folderid": {
                      "type": "number",
                      "description": "Transfer id"
                    },
                    "eta": {
                      "type": "number",
                      "description": "Estimated time for Agent to complete download (in seconds). Is equal to 0 for followers. Except for jobs: script"
                    },
                    "files_completed": {
                      "type": "number",
                      "description": "Number of completed files. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "files_selected": {
                      "type": "number",
                      "description": "Number of files selected for download. Is equal to 0 for followers. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "files_total": {
                      "type": "number",
                      "description": "Number of files for the job. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "finish_time": {
                      "type": "number",
                      "description": "Agent finish time for job run (in seconds). Is equal to 0 for followers. Except for jobs: sync, file_caching, hybrid_work"
                    },
                    "groups_count": {
                      "type": "number",
                      "description": "Groups count"
                    },
                    "hashed_files_speed": {
                      "type": "number",
                      "description": "Agent hashing speed in files per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "hashed_speed": {
                      "type": "number",
                      "description": "Agent hashing speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "hostname": {
                      "type": "string",
                      "description": "Agent host name"
                    },
                    "initial_syncing": {
                      "type": "string",
                      "description": "Initial syncing state. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival. Allowed values: in progress, completed, paused"
                    },
                    "is_reference": {
                      "type": "boolean",
                      "description": "Is Agent Reference. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "jobs_in_progress": {
                      "type": "number",
                      "description": "Jobs in progress count"
                    },
                    "last_seen": {
                      "type": "number",
                      "description": "Offline Agent last seen time for job run (0 for online Agent)."
                    },
                    "last_synced": {
                      "type": "number",
                      "description": "Agent last synced time (in seconds). Is equal to 0 for followers. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "license_package": {
                      "type": "string",
                      "description": "License package name"
                    },
                    "license_type": {
                      "type": "number",
                      "description": "License type"
                    },
                    "location": {
                      "type": "string",
                      "description": "Agent ip address"
                    },
                    "max_down_files_per_second": {
                      "type": "number",
                      "description": "Agent maximum download speed in files per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "max_down_speed": {
                      "type": "number",
                      "description": "Agent maximum download speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "max_up_speed": {
                      "type": "number",
                      "description": "Agent maximum upload speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "needs_update": {
                      "type": "boolean",
                      "description": "Does Agent need a policy update"
                    },
                    "online": {
                      "type": "boolean",
                      "description": "Is Agent online"
                    },
                    "os": {
                      "type": "string",
                      "description": "Agent os name"
                    },
                    "os_user": {
                      "type": "string",
                      "description": "Agent user name"
                    },
                    "peer_id": {
                      "type": "string",
                      "description": "Device id"
                    },
                    "peers_count": {
                      "type": "number",
                      "description": "Number of connected peers. Except for jobs: script"
                    },
                    "peers_count_proxied": {
                      "type": "number",
                      "description": "Number of connected proxied peers. Except for jobs: script"
                    },
                    "permission": {
                      "type": "string",
                      "description": "Agent permissions for the job"
                    },
                    "non_deleting": {
                      "type": "boolean",
                      "description": "Flag indicates that the agent will not propagate deletion to other nodes. Applicable for jobs: sync"
                    },
                    "profile_name": {
                      "type": "string",
                      "description": "Profile name"
                    },
                    "restricted_access": {
                      "type": "boolean",
                      "description": "Does Agent have restricted access"
                    },
                    "cluster_name": {
                      "type": "string",
                      "description": "Cluster group name. Will be returned in case Agent is in High Availability or Gateway Scaleout group. Except for jobs: script"
                    },
                    "cluster_type": {
                      "type": "string",
                      "description": "Cluster group type. Will be returned in case Agent is in High Availability or Gateway Scaleout group. Except for jobs: script"
                    },
                    "role_in_cluster": {
                      "type": "string",
                      "description": "Role in group. \"Follower\" and \"Leader\" roles are in High Availability groups only. Except for jobs: script"
                    },
                    "scanned_files_speed": {
                      "type": "number",
                      "description": "Agent scanned speed in files per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "size_deduplicated": {
                      "type": "number",
                      "description": "Deduplicated bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "size_completed": {
                      "type": "number",
                      "description": "Completed files size in bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "size_selected": {
                      "type": "number",
                      "description": "Size of selected files in bytes. Is equal to 0 for followers. Except for jobs: distribution, script, consolidation, storage_tiering_and_archival"
                    },
                    "size_total": {
                      "type": "number",
                      "description": "Agent's files size in bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "start_time": {
                      "type": "number",
                      "description": "Agent start time for job run (in seconds). Except for jobs: sync, file_caching, hybrid_work"
                    },
                    "status": {
                      "type": "string",
                      "description": "Job run Agent status"
                    },
                    "tags_count": {
                      "type": "number",
                      "description": "Total tags count on Agent"
                    },
                    "total_archive_size": {
                      "type": "number",
                      "description": "Archive size (bytes). Is equal to 0 for followers. Is available for Agents of version 3.5.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "total_archive_files": {
                      "type": "number",
                      "description": "Archive (files). Is equal to 0 for followers. Is available for Agents of version 4.0.0 and newer, otherwise is equal to 0. Except for jobs: script"
                    },
                    "traffic_optimization_in_bytes": {
                      "type": "number",
                      "description": "Agent written data/received over network in bytes. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "transferred_down": {
                      "type": "number",
                      "description": "Amount of bytes downloaded by the Agent. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "transferred_files_down": {
                      "type": "number",
                      "description": "Amount of files downloaded by the Agent. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "transferred_up": {
                      "type": "number",
                      "description": "Amount of bytes uploaded by the Agent. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "up_data_speed": {
                      "type": "number",
                      "description": "Agent pure data upload speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "up_speed": {
                      "type": "number",
                      "description": "Agent upload speed in bytes per second. Is equal to 0 for followers. Except for jobs: script"
                    },
                    "wan_optimization": {
                      "type": "boolean",
                      "description": "Wan optimization state"
                    },
                    "driver_status": {
                      "type": "string",
                      "description": "Current status of the driver. Present only if installed agent supports driver."
                    },
                    "driver_version": {
                      "type": "string",
                      "description": "Version of the driver. Present only if installed agent supports driver."
                    },
                    "event_logs_complete": {
                      "type": "boolean",
                      "description": "A property indicates that all event have been delivered. Applicable only to finished job runs except for sync, file_caching, hybrid_work"
                    },
                    "role": {
                      "type": "string",
                      "description": "Agent's role."
                    },
                    "cache_size_limit": {
                      "type": "number",
                      "description": "Cache size limit. Only for agent with role caching_gateway"
                    },
                    "hydrated_files": {
                      "type": "number",
                      "description": "Hydrated files on agent. Only for agent with role caching_gateway"
                    },
                    "hydrated_files_total": {
                      "type": "number",
                      "description": "Hydrated files by file policy. Only for agent with role caching_gateway"
                    },
                    "hydrated_bytes": {
                      "type": "number",
                      "description": "Hydrated bytes on agent. Only for agent with role caching_gateway"
                    },
                    "hydrated_bytes_total": {
                      "type": "number",
                      "description": "Hydrated bytes by file policy. Only for agent with role caching_gateway"
                    },
                    "pinned_files": {
                      "type": "number",
                      "description": "Pinned files on agent. Only for agent with role caching_gateway"
                    },
                    "pinned_files_total": {
                      "type": "number",
                      "description": "Pinned files by file policy. Only for agent with role caching_gateway"
                    },
                    "pinned_bytes": {
                      "type": "number",
                      "description": "Pinned bytes on agent. Only for agent with role caching_gateway"
                    },
                    "pinned_bytes_total": {
                      "type": "number",
                      "description": "Pinned bytes by file policy. Only for agent with role caching_gateway"
                    },
                    "oldest_alive_file_access_time": {
                      "type": "number",
                      "description": "Oldest alive file access time (in seconds). Only for agent with role caching_gateway"
                    },
                    "cache_filled_up_last_time": {
                      "type": "number",
                      "description": "Last time cache was filled up (in seconds). Only for agent with role caching_gateway"
                    },
                    "excluded_bytes": {
                      "type": "number",
                      "description": "Excluded bytes on agent by file policy. Only for agent with role caching_gateway"
                    },
                    "excluded_files": {
                      "type": "number",
                      "description": "Excluded files on agent by file policy. Only for agent with role caching_gateway"
                    },
                    "redownloaded_bytes": {
                      "type": "number",
                      "description": "Redownloaded bytes. Only for agent with role caching_gateway"
                    },
                    "redownloaded_files": {
                      "type": "number",
                      "description": "Redownloaded files. Only for agent with role caching_gateway"
                    },
                    "redownloaded_bytes_last_week": {
                      "type": "number",
                      "description": "Redownloaded bytes last week. Only for agent with role caching_gateway"
                    },
                    "redownloaded_files_last_week": {
                      "type": "number",
                      "description": "Redownloaded files last week. Only for agent with role caching_gateway"
                    }
                  },
                  "required": [
                    "agent_id",
                    "agent_name",
                    "agent_version",
                    "errors",
                    "errors.code_str",
                    "errors.message",
                    "hostname",
                    "last_seen",
                    "location",
                    "online",
                    "os",
                    "os_user",
                    "permission",
                    "status",
                    "tags_count",
                    "role"
                  ]
                },
                "examples": {
                  "distribution_job_example": {
                    "summary": "Distribution job example:",
                    "value": {
                      "agent_archive_size": 16106127360,
                      "agent_id": 35,
                      "agent_name": "Agent",
                      "agent_version": "3.1.0",
                      "bandwidth": {
                        "down": 122,
                        "up": 122
                      },
                      "data_transferred_down": 0,
                      "data_transferred_up": 0,
                      "date_added": 1643189749292,
                      "deduplication_speed": 0,
                      "down_data_speed": 0,
                      "down_files_per_second": 0,
                      "down_speed": 0,
                      "download_bytes_percent": 100,
                      "download_files_percent": 100,
                      "duration": 14749,
                      "errors": [],
                      "eta": 0,
                      "files_completed": 40,
                      "files_total": 40,
                      "finish_time": 0,
                      "groups_count": 1,
                      "hashed_files_speed": 0,
                      "hashed_speed": 0,
                      "hostname": "hostname",
                      "jobs_in_progress": 4,
                      "last_seen": 0,
                      "license_package": "Custom",
                      "license_type": 2,
                      "location": "127.0.0.1",
                      "max_down_files_per_second": 0,
                      "max_down_speed": 0,
                      "max_up_speed": 0,
                      "needs_update": false,
                      "online": true,
                      "os": "mac",
                      "os_user": "User",
                      "peer_id": "EARP7VBLGXHDXQPO5JO76GDHBUJYWHFZ",
                      "peers_count": 0,
                      "peers_count_proxied": 0,
                      "permission": "rw",
                      "profile_name": "Default Agent Profile",
                      "restricted_access": false,
                      "scanned_files_speed": 0,
                      "size_completed": 34083451,
                      "size_deduplicated": 0,
                      "size_total": 34083451,
                      "start_time": 1644566423,
                      "status": "inprogress",
                      "tags_count": 2,
                      "total_archive_size": 42949672960,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 0,
                      "transferred_files_down": 0,
                      "transferred_up": 0,
                      "up_data_speed": 0,
                      "up_speed": 0,
                      "wan_optimization": false
                    }
                  },
                  "script_job_example": {
                    "summary": "Script job example:",
                    "value": {
                      "agent_id": 31,
                      "agent_name": "Agent",
                      "agent_version": "3.1.0",
                      "bandwidth": {
                        "down": 122,
                        "up": 122
                      },
                      "date_added": 1642773037974,
                      "duration": 8,
                      "errors": [],
                      "finish_time": 1644580638,
                      "groups_count": 3,
                      "hostname": "hostname",
                      "jobs_in_progress": 3,
                      "last_seen": 0,
                      "license_package": "Custom",
                      "license_type": 2,
                      "location": "127.0.0.1",
                      "needs_update": true,
                      "online": true,
                      "os": "mac",
                      "os_user": "User",
                      "peer_id": "EBR6O55LMM5XRN4AK24DHQNSHMKSL6FN",
                      "permission": "rw",
                      "profile_name": "Default Agent Profile",
                      "restricted_access": false,
                      "start_time": 1644580629,
                      "status": "completed",
                      "tags_count": 3,
                      "wan_optimization": false,
                      "event_logs_complete": true
                    }
                  },
                  "sync_job_example": {
                    "summary": "Sync job example:",
                    "value": {
                      "agent_archive_size": 16106127360,
                      "agent_id": 36,
                      "agent_name": "Agent",
                      "agent_version": "3.1.0",
                      "bandwidth": {
                        "down": 122,
                        "up": 122
                      },
                      "data_transferred_down": 0,
                      "data_transferred_up": 0,
                      "date_added": 1643189749323,
                      "deduplication_speed": 0,
                      "down_data_speed": 0,
                      "down_files_per_second": 0,
                      "down_speed": 0,
                      "download_bytes_percent": 0,
                      "download_files_percent": 0,
                      "errors": [
                        {
                          "code_str": "SE_SM_FOLDER_INSIDE_SYNC_FOLDER",
                          "code": 203,
                          "message": "You don't have enough permissions to share part of a read-only folder. Please choose another folder."
                        }
                      ],
                      "eta": 0,
                      "files_completed": 0,
                      "files_selected": 0,
                      "files_total": 0,
                      "groups_count": 1,
                      "hashed_files_speed": 0,
                      "hashed_speed": 0,
                      "hostname": "hostname",
                      "initial_syncing": "in progress",
                      "is_reference": false,
                      "jobs_in_progress": 4,
                      "last_seen": 0,
                      "last_synced": 0,
                      "license_package": "Custom",
                      "license_type": 2,
                      "location": "127.0.0.1",
                      "max_down_files_per_second": 0,
                      "max_down_speed": 0,
                      "max_up_speed": 0,
                      "needs_update": true,
                      "online": true,
                      "os": "mac",
                      "os_user": "User",
                      "peer_id": "EBBESEKQCZ2URIO2VNVE6NBF6HKIMWUX",
                      "peers_count": 0,
                      "peers_count_proxied": 0,
                      "permission": "rw",
                      "non_deleting": "false",
                      "profile_name": "Default Agent Profile",
                      "restricted_access": false,
                      "scanned_files_speed": 0,
                      "size_completed": 0,
                      "size_deduplicated": 0,
                      "size_selected": 0,
                      "size_total": 0,
                      "status": "inprogress",
                      "tags_count": 2,
                      "total_archive_size": 42949672960,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 0,
                      "transferred_files_down": 0,
                      "transferred_up": 0,
                      "up_data_speed": 0,
                      "up_speed": 0,
                      "wan_optimization": false
                    }
                  },
                  "file_caching_job_example": {
                    "summary": "File Caching job example:",
                    "value": {
                      "agent_archive_size": 0,
                      "agent_archive_files": 0,
                      "size_completed": 201326592,
                      "size_deduplicated": 0,
                      "size_selected": 201326592,
                      "data_transferred_down": 2885681152,
                      "data_transferred_up": 0,
                      "deduplication_speed": 0,
                      "download_bytes_percent": 100,
                      "down_data_speed": 0,
                      "down_speed": 2,
                      "down_files_per_second": 0,
                      "download_files_percent": 100,
                      "eta": 0,
                      "files_completed": 2,
                      "files_total": 9,
                      "files_selected": 2,
                      "hashed_files_speed": 0,
                      "hashed_speed": 0,
                      "initial_syncing": "completed",
                      "is_reference": false,
                      "last_seen": 0,
                      "last_synced": 1707831416,
                      "max_down_files_per_second": 0,
                      "max_down_speed": 196,
                      "max_up_speed": 339,
                      "peers_count": 1,
                      "peers_count_proxied": 0,
                      "scanned_files_speed": 0,
                      "size_total": 3019898880,
                      "status": "completed",
                      "total_archive_size": 671088640,
                      "total_archive_files": 1,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 2891158791,
                      "transferred_files_down": 7,
                      "transferred_up": 1912426,
                      "up_data_speed": 0,
                      "up_speed": 7,
                      "bandwidth": {
                        "allowFilesDownload": true,
                        "allowFilesUpload": true,
                        "down": -1,
                        "up": -1
                      },
                      "agent_id": 52,
                      "agent_name": "xdHRstSzup_20240213084832576_ubuntu-focal_2",
                      "agent_version": "4.0.0",
                      "date_added": 1707814132777,
                      "groups_count": 0,
                      "hostname": "ubuntu-focal",
                      "jobs_in_progress": 0,
                      "license_package": "Agent",
                      "license_type": 1,
                      "location": "127.0.0.1",
                      "needs_update": false,
                      "online": true,
                      "os": "linux",
                      "os_user": "root",
                      "peer_id": "EDIRA6ALZMAD4BWP24JVIWVMFC7GIAVA",
                      "profile_name": "Default Agent Profile",
                      "restricted_access": false,
                      "tags_count": 2,
                      "wan_optimization": true,
                      "role": "caching_gateway",
                      "permission": "srw",
                      "errors": [],
                      "cache_size_limit": 2684354560,
                      "hydrated_files": 1,
                      "hydrated_files_total": 1,
                      "hydrated_bytes": 134217728,
                      "hydrated_bytes_total": 134217728,
                      "pinned_files": 1,
                      "pinned_files_total": 1,
                      "pinned_bytes": 67108864,
                      "pinned_bytes_total": 67108864,
                      "oldest_alive_file_access_time": 1707825070,
                      "cache_filled_up_last_time": 0,
                      "excluded_bytes": 201326592,
                      "excluded_files": 1,
                      "redownloaded_bytes": 1073741824,
                      "redownloaded_files": 2,
                      "redownloaded_bytes_last_week": 1073741824,
                      "redownloaded_files_last_week": 2
                    }
                  },
                  "hybrid_work_job_example": {
                    "summary": "Hybrid Work job example:",
                    "value": {
                      "agent_archive_size": 0,
                      "agent_archive_files": 0,
                      "size_completed": 671088640,
                      "size_deduplicated": 0,
                      "size_selected": 671088640,
                      "data_transferred_down": 671088640,
                      "data_transferred_up": 0,
                      "deduplication_speed": 0,
                      "download_bytes_percent": 100,
                      "down_data_speed": 36254874,
                      "down_speed": 22465589,
                      "down_files_per_second": 1,
                      "download_files_percent": 100,
                      "eta": 0,
                      "files_completed": 1,
                      "files_total": 1,
                      "files_selected": 1,
                      "hashed_files_speed": 1,
                      "hashed_speed": 36929985,
                      "initial_syncing": "completed",
                      "is_reference": false,
                      "last_seen": 0,
                      "last_synced": 1707832627,
                      "max_down_files_per_second": 1,
                      "max_down_speed": 69174238,
                      "max_up_speed": 35874,
                      "peers_count": 1,
                      "peers_count_proxied": 0,
                      "scanned_files_speed": 0,
                      "size_total": 671088640,
                      "status": "completed",
                      "total_archive_size": 0,
                      "total_archive_files": 0,
                      "traffic_optimization_in_bytes": 0,
                      "transferred_down": 672358824,
                      "transferred_files_down": 1,
                      "transferred_up": 387444,
                      "up_data_speed": 0,
                      "up_speed": 11413,
                      "bandwidth": {
                        "allowFilesDownload": true,
                        "allowFilesUpload": true,
                        "down": -1,
                        "up": -1
                      },
                      "agent_id": 51,
                      "agent_name": "aGWKwugLoT_20240213084832576_ubuntu-focal_1",
                      "agent_version": "4.0.0",
                      "date_added": 1707814132761,
                      "groups_count": 1,
                      "hostname": "ubuntu-focal",
                      "jobs_in_progress": 0,
                      "license_package": "Agent",
                      "license_type": 1,
                      "location": "127.0.0.1",
                      "needs_update": false,
                      "online": true,
                      "os": "linux",
                      "os_user": "root",
                      "peer_id": "EC4TG3FJAU2PBZSR7W3KKAZLNS3F3BIO",
                      "profile_name": "Default Agent Profile",
                      "restricted_access": false,
                      "tags_count": 2,
                      "wan_optimization": true,
                      "role": "enduser",
                      "permission": "srw",
                      "errors": []
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "RunAgent",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/{agent_id}/active_files": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get Agent’s active files in the job",
        "operationId": "RunAgentActiveFiles",
        "description": "Returns Agent’s active files in the job.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string",
                      "description": "Absolute file path"
                    },
                    "relative_path": {
                      "type": "string",
                      "description": "Relative file path"
                    },
                    "size": {
                      "type": "number",
                      "description": "File size (in bytes)"
                    },
                    "status": {
                      "type": "string",
                      "description": "Status. Possible values: \nDownloading \nUploading"
                    },
                    "progress": {
                      "type": "number",
                      "description": "Progress %"
                    }
                  },
                  "required": [
                    "path",
                    "relative_path",
                    "size"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "description": "agent_id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "RunAgentActiveFiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/{agent_id}/activity": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get Agent activity for run",
        "operationId": "RunAgentActivity",
        "description": "Returns Agent's activity for particular job run.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "operation": {
                      "type": "string",
                      "description": "Operation"
                    },
                    "pending": {
                      "type": "string",
                      "description": "Pending operations queue"
                    },
                    "details": {
                      "type": "string",
                      "description": "Details"
                    }
                  },
                  "required": [
                    "operation",
                    "pending",
                    "details"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "description": "agent_id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "RunAgentActivity",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/{agent_id}/connections": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get Agent connections for run",
        "operationId": "RunAgentConnections",
        "description": "Returns Agent's connections for particular job run.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Connection status. Possible values: \nconnected \nnot connected"
                    },
                    "unknown": {
                      "type": "boolean",
                      "description": "Unknown peer connection"
                    },
                    "folderid": {
                      "type": "string",
                      "description": "Transfer id"
                    },
                    "agent_deviceid": {
                      "type": "string",
                      "description": "Agent device id"
                    },
                    "agent_id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "agent_name": {
                      "type": "string",
                      "description": "Agent name"
                    },
                    "connections_count": {
                      "type": "number",
                      "description": "Connections count"
                    },
                    "best_connection": {
                      "type": "string",
                      "description": "Best connection"
                    },
                    "best_connection_protocol": {
                      "type": "string",
                      "description": "Best connection protocol"
                    },
                    "is_network_policy": {
                      "type": "boolean",
                      "description": "Connection is configured by network policy"
                    }
                  },
                  "required": [
                    "status",
                    "unknown",
                    "folderid",
                    "agent_deviceid",
                    "agent_id",
                    "agent_name",
                    "connections_count",
                    "is_network_policy"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "description": "agent_id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "RunAgentConnections",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/{agent_id}/errors/files": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get affected files by error",
        "operationId": "RunAgentErrorFiles",
        "description": "Returns affected files by error.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "size": {
                      "type": "number",
                      "description": "Total number of files in the error"
                    },
                    "path": {
                      "type": "string",
                      "description": "Base path for all files"
                    },
                    "files": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of files information"
                    },
                    "files.path": {
                      "type": "string",
                      "description": "Relative file path"
                    },
                    "files.real_name": {
                      "type": "string",
                      "description": "Real file path on disk"
                    },
                    "files.name": {
                      "type": "string",
                      "description": "File name"
                    }
                  },
                  "required": [
                    "size",
                    "path",
                    "files",
                    "size",
                    "path",
                    "files",
                    "files.path",
                    "files.real_name",
                    "size",
                    "path",
                    "files",
                    "files.name",
                    "files.path"
                  ]
                },
                "examples": {
                  "response_data_example_for_se_fs_invalidated_file_error": {
                    "summary": "Response data example for \"SE_FS_INVALIDATED_FILE\" error:",
                    "value": {
                      "files": [
                        "subf\\qqq.docx"
                      ],
                      "path": "C:\\dev\\TestJobs\\job_with_invalidated_files",
                      "size": 1
                    }
                  },
                  "response_data_example_for_se_fs_conflict_filename_error": {
                    "summary": "Response data example for \"SE_FS_CONFLICT_FILENAME\" error:",
                    "value": {
                      "files": [
                        {
                          "path": "C:\\dev\\TestJobs\\job_with_conflict\\subf\\FILE.TXT",
                          "real_name": "C:\\dev\\TestJobs\\job_with_conflict\\subf\\file.txt"
                        }
                      ],
                      "path": "C:\\dev\\TestJobs\\job_with_conflict",
                      "size": 1
                    }
                  },
                  "response_data_example_for_other_errors": {
                    "summary": "Response data example for other errors:",
                    "value": {
                      "files": [
                        {
                          "name": "file.txt",
                          "path": "subf\\file.txt"
                        }
                      ],
                      "path": "C:\\dev\\TestJobs\\job_with_permissions_error",
                      "size": 1
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "description": "Agent id",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "folderid",
            "in": "query",
            "required": false,
            "description": "Error's folderid.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "error_code",
            "in": "query",
            "required": false,
            "description": "Error's code_str. Possible values:  SE_FS_LOCKED_FILES SE_FS_FILE_WAS_MODIFIED SE_FS_CANNOT_WRITE_ACL SE_FS_INVALIDATED_FILE SE_FS_CANNOT_READ_ACL SE_FS_CANNOT_SET_MODIFICATION_TIME SE_FS_INVALID_FILENAME SE_FS_FILE_PERMISSIONS_ERROR SE_FS_CONFLICT_FILENAME SE_FS_CANT_LIST_FOLDER SE_FS_UNSUPPORT_SYMLINK SE_FS_INVALID_MODIFICATION_TIME SE_FS_INVALID_UNICODE_IN_FILE_NAME SE_FS_DEHYDRATE_POSTPONED SE_FS_CANNOT_READ_OWNER_GROUP_ACL SE_FS_CANT_WRITE_FILE SE_FS_CANT_READ_FILE SE_FS_PLACEHOLDER_ERROR SE_FS_CANT_MOVE_TO_ARCHIVE SE_FS_CANT_DELETE_ARCHIVE_FILE SE_FS_CANT_MOVE_SUFFIX SE_FS_ERROR_CREATE_FILE SE_FS_EXCESSIVE_FUTURE_MODIFY_TIME SE_FS_INVALID_SYMLINK SE_FS_CANT_WRITE_FS_META SE_FS_FILE_UPDATE_COLLISION SE_FS_SHARED_LOCK_REJECTED_DUE_ACCESS_RACE SE_MOVE_FILES_INPLACE_FAILED SE_FS_CANT_RESTORE SE_FS_FILE_IS_NOT_READY",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_entries",
            "in": "query",
            "required": false,
            "description": "Maximum entries to return. Default is 100, maximum is 10000",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "RunAgentErrorFiles",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/{agent_id}/scans": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get folder rescan details",
        "operationId": "RunAgentScans",
        "description": "Returns folder rescan details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "start_time": {
                      "type": "number",
                      "description": "Start time (in seconds)"
                    },
                    "status": {
                      "type": "string",
                      "description": "Status. Possible values: \nScheduled \nRunning \nCompleted \nAborted \nSuspended"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type. Possible values: \nfull rescan \nrescan subfolder"
                    },
                    "duration": {
                      "type": "number",
                      "description": "Duration (in seconds)"
                    },
                    "files": {
                      "type": "number",
                      "description": "Files"
                    },
                    "folders": {
                      "type": "number",
                      "description": "Folders"
                    },
                    "size": {
                      "type": "number",
                      "description": "Size"
                    },
                    "reason": {
                      "type": "string",
                      "description": "Rescan trigger. Reported by Agents of version 3.4.0 and newer. Default value is empty string."
                    },
                    "abort_reason": {
                      "type": "string",
                      "description": "Abort reason. Reported by Agents of version 3.4.0 and newer. Default value is empty string."
                    },
                    "failed_folders": {
                      "type": "number",
                      "description": "Failed folders. Reported by Agents of version 3.4.0 and newer. Default value is 0"
                    }
                  },
                  "required": [
                    "start_time",
                    "status",
                    "type",
                    "duration",
                    "files",
                    "folders",
                    "size",
                    "reason",
                    "abort_reason",
                    "failed_folders"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "description": "agent_id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-apidocName": "RunAgentScans",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/network_policy": {
      "get": {
        "tags": [
          "Runs"
        ],
        "summary": "Get network policy",
        "operationId": "RunNetworkPolicy",
        "description": "Returns job run's network policy.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rules": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of rules"
                    },
                    "rules.left_set_type": {
                      "type": "string",
                      "description": "Left set type"
                    },
                    "rules.right_set_type": {
                      "type": "string",
                      "description": "Right set type"
                    },
                    "rules.max_connections": {
                      "type": "number",
                      "description": "Maximum connections count"
                    },
                    "rules.conditions": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of conditions"
                    },
                    "rules.conditions.set_type": {
                      "type": "string",
                      "description": "Type of set"
                    },
                    "rules.conditions.negative": {
                      "type": "boolean",
                      "description": "Negative condition or not"
                    },
                    "sets": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of Agent's sets"
                    },
                    "sets.id": {
                      "type": "string",
                      "description": "Set id"
                    },
                    "sets.type": {
                      "type": "string",
                      "description": "Set type"
                    },
                    "sets.agents": {
                      "type": "number",
                      "description": "List of Agent's id in set"
                    },
                    "sets_map_levels": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Priority list of set's network policy"
                    },
                    "sets_map_levels.id": {
                      "type": "string",
                      "description": "Set id"
                    },
                    "sets_map_levels.src_sets": {
                      "type": "string",
                      "description": "List of source set's id"
                    },
                    "agents_map_levels": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Priority list of Agent's network policy"
                    },
                    "agents_map_levels.id": {
                      "type": "number",
                      "description": "Agent id"
                    },
                    "agents_map_levels.src_agents": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "List of source Agents with sets information"
                    },
                    "agents_map_levels.src_agents.id": {
                      "type": "number",
                      "description": "Source Agent id"
                    },
                    "agents_map_levels.src_agents.set_id": {
                      "type": "string",
                      "description": "Set id"
                    },
                    "agents_map_levels.src_agents.src_set_id": {
                      "type": "string",
                      "description": "Source set id"
                    }
                  },
                  "required": [
                    "rules",
                    "rules.left_set_type",
                    "rules.right_set_type",
                    "rules.max_connections",
                    "rules.conditions",
                    "rules.conditions.set_type",
                    "rules.conditions.negative",
                    "sets",
                    "sets.id",
                    "sets.type",
                    "sets.agents",
                    "sets_map_levels",
                    "sets_map_levels.id",
                    "sets_map_levels.src_sets",
                    "agents_map_levels",
                    "agents_map_levels.id",
                    "agents_map_levels.src_agents",
                    "agents_map_levels.src_agents.id",
                    "agents_map_levels.src_agents.set_id",
                    "agents_map_levels.src_agents.src_set_id"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "RunNetworkPolicy",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/{id}/agents/initialsync/stop": {
      "post": {
        "tags": [
          "Runs"
        ],
        "summary": "Stop initial synchronization on Agents",
        "operationId": "StopInitialSyncingOnAgentsInRun",
        "description": "",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent_ids": {
                    "type": "number",
                    "description": "Array of Agents ids. Pass empty request body to stop initial synchronization on all available Agents in job run. It's enough to pass any Agent id in the High Availability group to stop initial syncing on all Agents in it."
                  }
                }
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "agent_ids": [
                      7,
                      11,
                      12
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "StopInitialSyncingOnAgentsInRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/stop": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Stop run",
        "operationId": "StopRun",
        "description": "Stop job run",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "StopRun",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/runs/{id}/agents/stop": {
      "put": {
        "tags": [
          "Runs"
        ],
        "summary": "Stop run on Agents",
        "operationId": "StopRunOnAgents",
        "description": "",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job run id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent_ids": {
                    "type": "number",
                    "description": "array of Agent id. It's enough to pass any Agent id in the High Availability group to stop Job run on all Agents in it."
                  }
                },
                "required": [
                  "agent_ids"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": [
                    7,
                    11,
                    12
                  ]
                }
              }
            }
          }
        },
        "x-apidocName": "StopRunOnAgents",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/smtp": {
      "put": {
        "tags": [
          "SMTP"
        ],
        "summary": "Configure SMTP server",
        "operationId": "ConfigureSMTP",
        "description": "Configure SMTP server. Returns SMTP settings. See get SMTP settings for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Determines whether SMTP is enabled or not"
                  },
                  "encryption_method": {
                    "type": "string",
                    "description": "Encryption method. Custom trusted CA certificates can be configured in Advanced settings. Required if SMTP is enabled."
                  },
                  "host": {
                    "type": "string",
                    "description": "SMTP server hostname. Required if SMTP is enabled."
                  },
                  "port": {
                    "type": "number",
                    "description": "SMTP server port. Required if SMTP is enabled."
                  },
                  "anonymous": {
                    "type": "boolean",
                    "description": "Use anonymous SMTP server. Required if SMTP is enabled."
                  },
                  "user": {
                    "type": "string",
                    "description": "Username. Required if SMTP is enabled and SMTP server is not anonymous."
                  },
                  "password": {
                    "type": "string",
                    "description": "Password. Required if SMTP is enabled and SMTP server is not anonymous."
                  },
                  "sender_email": {
                    "type": "string",
                    "description": "Sender e-mail. Required if SMTP is enabled."
                  }
                },
                "required": [
                  "enabled"
                ]
              },
              "examples": {
                "smtp_configuration_example": {
                  "summary": "SMTP configuration example:",
                  "value": {
                    "enabled": true,
                    "encryption_method": "starttls",
                    "host": "smtp.gmail.com",
                    "port": 587,
                    "user": "user@gmail.com",
                    "password": "Admin",
                    "sender_email": "sender.email@gmail.com",
                    "anonymous": false
                  }
                },
                "anonymous_smtp_server_configuration_example": {
                  "summary": "Anonymous SMTP server configuration example:",
                  "value": {
                    "enabled": true,
                    "encryption_method": "none",
                    "host": "anonymous.smtp",
                    "port": 25,
                    "sender_email": "sender.email@gmail.com",
                    "anonymous": true
                  }
                },
                "smtp_disabling_example": {
                  "summary": "SMTP disabling example:",
                  "value": {
                    "enabled": false
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "ConfigureSMTP",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "SMTP"
        ],
        "summary": "Get SMTP settings",
        "operationId": "GetSMTPSettings",
        "description": "Returns SMTP settings",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "description": "Determines whether SMTP is enabled or not"
                    },
                    "encryption_method": {
                      "type": "string",
                      "description": "Encryption method. Custom trusted CA certificates can be configured in Advanced settings. Sent if SMTP is enabled."
                    },
                    "host": {
                      "type": "string",
                      "description": "SMTP server hostname. Sent if SMTP is enabled."
                    },
                    "port": {
                      "type": "number",
                      "description": "SMTP server port. Sent if SMTP is enabled."
                    },
                    "anonymous": {
                      "type": "boolean",
                      "description": "Use anonymous SMTP server. Sent if SMTP is enabled."
                    },
                    "user": {
                      "type": "string",
                      "description": "Username. Sent if SMTP is enabled and SMTP server is not anonymous."
                    },
                    "sender_email": {
                      "type": "string",
                      "description": "Sender e-mail. Sent if SMTP is enabled."
                    }
                  },
                  "required": [
                    "enabled"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "enabled": false
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetSMTPSettings",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/smtp/test": {
      "post": {
        "tags": [
          "SMTP"
        ],
        "summary": "Send test e-mail",
        "operationId": "TestSMTP",
        "description": "Test SMTP server configuration",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "E-mail to send test message"
                  }
                },
                "required": [
                  "email"
                ]
              },
              "examples": {
                "smtp_test_example": {
                  "summary": "SMTP test example:",
                  "value": {
                    "email": "test.email@gmail.com"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "TestSMTP",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/schedules": {
      "post": {
        "tags": [
          "Schedules"
        ],
        "summary": "Create bandwidth schedule",
        "operationId": "CreateSchedule",
        "description": "Create new bandwidth schedule.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Bandwidth schedule name"
                  },
                  "description": {
                    "type": "string",
                    "description": "Bandwidth schedule description"
                  },
                  "time_blocks": {
                    "type": "number",
                    "description": "Bandwidth schedule's rules indexes. First level array contains arrays of indexes per day of week (starting from Monday). Second level array contains rule indexes for each hour (0-23). Scheduler runs in a local Agents time zone"
                  },
                  "custom_rules": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Bandwidth schedule's rules descriptions. Default rules \"Full bandwidth\" (index = 0) and \"Pause synchronization\" (index = 1) will be applied automatically. Custom rules indexes start from 2"
                  },
                  "custom_rules.up_speed": {
                    "type": "number",
                    "description": "Rule sending limit (KBps). Unlimited value is -1, min available limited value is 1"
                  },
                  "custom_rules.down_speed": {
                    "type": "number",
                    "description": "Rule receiving limit (KBps). Unlimited value is -1, min available limited value is 1"
                  }
                },
                "required": [
                  "name",
                  "description",
                  "time_blocks",
                  "custom_rules.up_speed",
                  "custom_rules.down_speed"
                ]
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "name": "Custom",
                    "description": "Custom bandwidth schedule",
                    "custom_rules": [
                      {
                        "down_speed": 100,
                        "up_speed": 100
                      }
                    ],
                    "time_blocks": [
                      [
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2,
                        2
                      ],
                      [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ]
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateSchedule",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Schedules"
        ],
        "summary": "Get all bandwidth schedules",
        "operationId": "GetScheules",
        "description": "Returns all bandwidth schedules in array. See get bandwidth schedule for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetScheules",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/schedules/{id}": {
      "delete": {
        "tags": [
          "Schedules"
        ],
        "summary": "Delete bandwidth schedule",
        "operationId": "DeleteSchedule",
        "description": "Delete bandwidth schedule.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Bandwidth schedule id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteSchedule",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Schedules"
        ],
        "summary": "Get bandwidth schedule by id",
        "operationId": "GetSchedule",
        "description": "Get bandwidth schedule",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Bandwidth schedule id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Bandwidth schedule name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Bandwidth schedule description"
                    },
                    "is_global": {
                      "type": "boolean",
                      "description": "Determines if the bandwidth schedule is default"
                    },
                    "time_blocks": {
                      "type": "number",
                      "description": "Bandwidth schedule's rules indexes. First level array contains arrays of indexes per day of week (starting from Monday). Second level array contains rule indexes for each hour (0-23). Scheduler runs in a local Agents time zone"
                    },
                    "rules": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Bandwidth schedule's rules descriptions."
                    },
                    "rules.index": {
                      "type": "number",
                      "description": "Rule index"
                    },
                    "rules.up_speed": {
                      "type": "number",
                      "description": "Rule sending limit (KBps). Unlimited value is -1"
                    },
                    "rules.down_speed": {
                      "type": "number",
                      "description": "Rule receiving limit (KBps). Unlimited value is -1"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "is_global",
                    "time_blocks",
                    "rules",
                    "rules.index",
                    "rules.up_speed",
                    "rules.down_speed"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "name": "Default",
                      "description": "Default bandwidth schedule is applied to an Agent if no other schedule set explicitly by administrator",
                      "is_global": true,
                      "rules": [
                        {
                          "down_speed": -1,
                          "up_speed": -1,
                          "index": 0
                        },
                        {
                          "down_speed": 0,
                          "up_speed": 0,
                          "index": 1
                        }
                      ],
                      "time_blocks": [
                        [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ]
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Bandwidth schedule id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetSchedule",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Schedules"
        ],
        "summary": "Update bandwidth schedule",
        "operationId": "UpdateSchedule",
        "description": "Update bandwidth schedule.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Bandwidth schedule name. Can't change default bandwidth schedule name"
                  },
                  "description": {
                    "type": "string",
                    "description": "Bandwidth schedule description. Can't change default bandwidth schedule description"
                  },
                  "time_blocks": {
                    "type": "number",
                    "description": "Bandwidth schedule's rules indexes. First level array contains arrays of indexes per day of week (starting from Monday). Second level array contains rule indexes for each hour (0-23). Scheduler runs in a local Agents time zone"
                  },
                  "custom_rules": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Bandwidth schedule's rules descriptions. Default rules \"Full bandwidth\" (index = 0) and \"Pause synchronization\" (index = 1) will be applied automatically. Custom rules indexes start from 2"
                  },
                  "custom_rules.up_speed": {
                    "type": "number",
                    "description": "Rule sending limit (KBps). Unlimited value is -1"
                  },
                  "custom_rules.down_speed": {
                    "type": "number",
                    "description": "Rule receiving limit (KBps). Unlimited value is -1"
                  }
                },
                "required": [
                  "custom_rules.up_speed",
                  "custom_rules.down_speed"
                ]
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "name": "new schedule name"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateSchedule",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/storages": {
      "post": {
        "tags": [
          "Storages"
        ],
        "summary": "Create storage",
        "operationId": "CreateStorage",
        "description": "Create new storage.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Storage name"
                  },
                  "description": {
                    "type": "string",
                    "description": "Storage description"
                  },
                  "type": {
                    "type": "string",
                    "description": "Storage type"
                  },
                  "config": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Config for storage"
                  },
                  "config.auth_type": {
                    "type": "string",
                    "description": "Authorization type"
                  },
                  "config.access_id": {
                    "type": "string",
                    "description": "Access key"
                  },
                  "config.access_secret": {
                    "type": "string",
                    "description": "Secret key"
                  },
                  "config.bucket": {
                    "type": "string",
                    "description": "Bucket"
                  },
                  "config.region": {
                    "type": "string",
                    "description": "Region"
                  },
                  "id": {
                    "type": "number",
                    "description": "Storage id"
                  },
                  "config.endpoint": {
                    "type": "string",
                    "description": "Endpoint"
                  },
                  "config.key": {
                    "type": "string",
                    "description": "Key. Applicable if auth_type is key"
                  },
                  "config.sas_token": {
                    "type": "string",
                    "description": "SAS token. Applicable if auth_type is sas"
                  },
                  "config.account": {
                    "type": "string",
                    "description": "Account"
                  },
                  "config.container": {
                    "type": "string",
                    "description": "Container"
                  },
                  "config.project": {
                    "type": "string",
                    "description": "Project"
                  },
                  "config.client_id": {
                    "type": "string",
                    "description": "Application ID"
                  },
                  "config.client_secret": {
                    "type": "string",
                    "description": "Application secret"
                  },
                  "config.root": {
                    "type": "string",
                    "description": "Root"
                  },
                  "config.drive": {
                    "type": "string",
                    "description": "Drive"
                  },
                  "config.namespace": {
                    "type": "string",
                    "description": "Namespace"
                  }
                },
                "required": [
                  "name",
                  "description",
                  "type",
                  "config",
                  "config.auth_type",
                  "config.access_id",
                  "config.access_secret",
                  "config.region",
                  "id",
                  "name",
                  "type",
                  "config",
                  "config.auth_type",
                  "config.access_id",
                  "config.access_secret",
                  "config.region",
                  "config.endpoint",
                  "id",
                  "name",
                  "description",
                  "type",
                  "config",
                  "config.auth_type",
                  "config.key",
                  "config.sas_token",
                  "config.account",
                  "config.endpoint",
                  "id",
                  "name",
                  "description",
                  "type",
                  "config",
                  "config.auth_type",
                  "config.key",
                  "config.sas_token",
                  "config.account",
                  "config.endpoint",
                  "id",
                  "name",
                  "description",
                  "type",
                  "config",
                  "config.auth_type",
                  "config.access_id",
                  "config.access_secret",
                  "config.project",
                  "id",
                  "name",
                  "description",
                  "type",
                  "config",
                  "config.auth_type",
                  "config.client_id",
                  "config.client_secret",
                  "config.root",
                  "id",
                  "name",
                  "description",
                  "type",
                  "config",
                  "config.auth_type",
                  "config.access_id",
                  "config.access_secret",
                  "config.namespace",
                  "config.region"
                ]
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "type": "s3",
                    "name": "s3 storage",
                    "description": "Some description",
                    "config": {
                      "auth_type": "key",
                      "access_id": "ABSGNHYTDR9495969784",
                      "access_secret": "ABSGNHYTDR9495969784ABSGNHYTDR949596978=",
                      "bucket": "fghgf",
                      "region": "gg-hht-9"
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateStorage",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Storages"
        ],
        "summary": "Get all storages",
        "operationId": "GetStorages",
        "description": "Returns all storages in array. See get storage for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetStorages",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/storages/{id}": {
      "delete": {
        "tags": [
          "Storages"
        ],
        "summary": "Delete storage",
        "operationId": "DeleteStorage",
        "description": "Delete storage.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Storage id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteStorage",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Storages"
        ],
        "summary": "Get storage by id",
        "operationId": "GetStorage",
        "description": "Get storage. If user have not manage storage permissions, storage will be without 'config' field.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Storage id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Storage name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Storage description"
                    },
                    "type": {
                      "type": "string",
                      "description": "Storage type"
                    },
                    "config": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Config for storage. Includes only for users with manage storage permissions."
                    },
                    "config.auth_type": {
                      "type": "string",
                      "description": "Authorization type"
                    },
                    "config.access_id": {
                      "type": "string",
                      "description": "Access key"
                    },
                    "config.access_secret": {
                      "type": "string",
                      "description": "Secret key"
                    },
                    "config.bucket": {
                      "type": "string",
                      "description": "Bucket"
                    },
                    "config.region": {
                      "type": "string",
                      "description": "Region"
                    },
                    "config.endpoint": {
                      "type": "string",
                      "description": "Endpoint"
                    },
                    "config.key": {
                      "type": "string",
                      "description": "Key. Applicable if auth_type is key"
                    },
                    "config.sas_token": {
                      "type": "string",
                      "description": "SAS token. Applicable if auth_type is sas"
                    },
                    "config.account": {
                      "type": "string",
                      "description": "Account"
                    },
                    "config.container": {
                      "type": "string",
                      "description": "Container"
                    },
                    "config.project": {
                      "type": "string",
                      "description": "Project"
                    },
                    "config.client_id": {
                      "type": "string",
                      "description": "Application ID"
                    },
                    "config.client_secret": {
                      "type": "string",
                      "description": "Application secret"
                    },
                    "config.root": {
                      "type": "string",
                      "description": "Root"
                    },
                    "config.drive": {
                      "type": "string",
                      "description": "Drive"
                    },
                    "config.namespace": {
                      "type": "string",
                      "description": "Namespace"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "type",
                    "config.auth_type",
                    "config.access_id",
                    "config.bucket",
                    "config.region",
                    "id",
                    "name",
                    "type",
                    "config.auth_type",
                    "config.access_id",
                    "config.bucket",
                    "config.region",
                    "config.endpoint",
                    "id",
                    "name",
                    "description",
                    "type",
                    "config.auth_type",
                    "config.account",
                    "config.container",
                    "config.endpoint",
                    "id",
                    "name",
                    "description",
                    "type",
                    "config.auth_type",
                    "config.account",
                    "config.container",
                    "config.endpoint",
                    "id",
                    "name",
                    "description",
                    "type",
                    "config.auth_type",
                    "config.access_id",
                    "config.project",
                    "config.bucket",
                    "id",
                    "name",
                    "description",
                    "type",
                    "config.auth_type",
                    "config.client_id",
                    "config.root",
                    "config.drive",
                    "id",
                    "name",
                    "description",
                    "type",
                    "config.auth_type",
                    "config.access_id",
                    "config.namespace",
                    "config.bucket",
                    "config.region"
                  ]
                },
                "examples": {
                  "amazon_storage_response_example": {
                    "summary": "Amazon storage response example:",
                    "value": "{\n\t\"id\": 1\n \t\"type\": \"s3\",\n\t\"name\": \"s3 storage\",\n\t\"description\": \"Some description\",\n\t\"config\": {\n\t\t\"auth_type\": \"key\",\n\t\t\"access_id\": \"ABSGNHYTDR9495969784\",\n\t\t\"access_secret\": \"ABSGNHYTDR9495969784ABSGNHYTDR949596978=\",\n\t\t\"bucket\": \"fghgf\",\n\t\t\"region\": \"gg-hht-9\"\n\t}\n}"
                  },
                  "oracle_cloud_storage_response_example": {
                    "summary": "Oracle Cloud storage response example:",
                    "value": "{\n\t\"id\": 2\n \t\"type\": \"oc\",\n\t\"name\": \"Oracle Cloud\",\n\t\"description\": \"Some description\",\n\t\"config\": {\n\t\t\"bucket\": \"\",\n\t\t\"region\": \"gg-hht-9\",\n\t\t\"namespace\": \"fghgffghgf\",\n\t\t\"auth_type\": \"key\",\n\t\t\"access_id\": \"ABSGNHYTDR9495969784\",\n\t\t\"access_secret\": \"ABSGNHYTDR9495969784ABSGNHYTDR949596978=\"\n\t}\n}"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Storage id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetStorage",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Storages"
        ],
        "summary": "Update storage",
        "operationId": "UpdateStorage",
        "description": "Update storage. See create storage for the request data details.\n\nIf you want ignore error about used storage in jobs and job runs, use 'force' parameter at the end of the url.\n\nFor example: /storages/2/force",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              },
              "examples": {
                "request_data_example": {
                  "summary": "Request data example:",
                  "value": {
                    "type": "s3",
                    "name": "s3 storage",
                    "description": "Some description",
                    "config": {
                      "auth_type": "key",
                      "access_id": "ABSGNHYTDR9495969784",
                      "access_secret": "ABSGNHYTDR9495969784ABSGNHYTDR949596978="
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateStorage",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/support/request": {
      "post": {
        "tags": [
          "Support"
        ],
        "summary": "Create support request",
        "operationId": "CreateSupportRequest",
        "description": "Create new support request. Returns support request state. See get support request state for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "Email. Resilio Active Everywhere Support will respond to this e-mail address"
                  },
                  "description": {
                    "type": "string",
                    "description": "Problem description"
                  },
                  "time_period_description": {
                    "type": "string",
                    "description": "Time period when problem reproduced"
                  },
                  "time_range_type": {
                    "type": "string",
                    "description": "Time range type for debug logs"
                  },
                  "time_range": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Time range for debug logs (applicable for \"custom\" range type only)"
                  },
                  "time_range.from": {
                    "type": "number",
                    "description": "Time range \"from\" timestamp"
                  },
                  "time_range.to": {
                    "type": "number",
                    "description": "Time range \"to\" timestamp"
                  },
                  "auto_upload": {
                    "type": "boolean",
                    "description": "Automatically upload to Resilio"
                  },
                  "level": {
                    "type": "string",
                    "description": "Issue impact"
                  },
                  "include_dumps": {
                    "type": "boolean",
                    "description": "Include Agents crash reports"
                  },
                  "attach_server_log": {
                    "type": "boolean",
                    "description": "Send Management Console logs"
                  },
                  "agents_ids": {
                    "type": "number",
                    "description": "Agents affected. Debug logs from specified Agents will be sent to support team"
                  },
                  "job_runs_ids": {
                    "type": "number",
                    "description": "Job runs affected"
                  }
                },
                "required": [
                  "email",
                  "description",
                  "time_range_type",
                  "time_range.from",
                  "time_range.to",
                  "auto_upload",
                  "level",
                  "include_dumps",
                  "attach_server_log"
                ]
              },
              "examples": {
                "support_request_example": {
                  "summary": "Support request example:",
                  "value": {
                    "email": "your.email@gmail.com",
                    "description": "Test support request",
                    "time_range_type": "custom",
                    "time_range": {
                      "from": 1643273438680,
                      "to": 1643293444297
                    },
                    "auto_upload": false,
                    "level": "general questions",
                    "include_dumps": true,
                    "attach_server_log": true,
                    "agents_ids": [
                      1,
                      2,
                      3
                    ],
                    "job_runs_ids": [
                      1
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateSupportRequest",
        "x-apidocVersion": "2.0.0"
      },
      "delete": {
        "tags": [
          "Support"
        ],
        "summary": "Delete or cancel support request",
        "operationId": "DeleteSupportRequest",
        "description": "Initiate support request removal (cancelation). Returns support request state. See get support request state for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "DeleteSupportRequest",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/support/debug/agents/dumpstatus": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Dump debug status for Agents",
        "operationId": "DumpAgentsDebugStatus",
        "description": "Dumps Agents debug status",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "debug_status": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Dumped debug status for specified Agents"
                    },
                    "debug_status.agent_id": {
                      "type": "number",
                      "description": "Agent ID"
                    },
                    "debug_status.error": {
                      "type": "string",
                      "description": "Error message in case dump debug status for Agent failed"
                    },
                    "debug_status.status": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Dumped debug status for Agent"
                    }
                  },
                  "required": [
                    "debug_status",
                    "debug_status.agent_id"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": "{\n\t\t\"debug_status\": [\n\t\t\t{\n\t\t\t\t\"agent_id\": 1,\n\t\t\t\t\"error\": \"Agent is offline\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"agent_id\": 2,\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"DEBUG_STATUS_ATTRIBUTES\": ''\n\t\t\t\t}\n\t\t\t}\n\t\t]\n}"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "DumpAgentsDebugStatus",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/support/request/archive": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Get support request archive",
        "operationId": "GetSupportRequestArchive",
        "description": "Download support request package",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetSupportRequestArchive",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/support/request/state": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Get support request state",
        "operationId": "GetSupportRequestState",
        "description": "Returns support request state.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Support request timestamp (or 0 in case there is no support request)"
                    },
                    "progress": {
                      "type": "string",
                      "description": "Support request current step progress (%)"
                    },
                    "status": {
                      "type": "string",
                      "description": "Support request status"
                    },
                    "error": {
                      "type": "string",
                      "description": "Support request error"
                    },
                    "agents_errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Failed to receive logs from Agents"
                    },
                    "agents_errors.agent_id": {
                      "type": "number",
                      "description": "Agent ID"
                    },
                    "agents_errors.code": {
                      "type": "string",
                      "description": "Error code"
                    },
                    "agents_errors.message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "agents_lost_files": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Agents log files lost during uploading"
                    },
                    "agents_lost_files.agent_id": {
                      "type": "number",
                      "description": "Agent ID"
                    },
                    "agents_lost_files.files": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Lost files"
                    },
                    "agents_lost_files.files.name": {
                      "type": "string",
                      "description": "Lost file name"
                    },
                    "agents_lost_files.files.reason": {
                      "type": "string",
                      "description": "Lost file reason"
                    },
                    "uploaded_at": {
                      "type": "number",
                      "description": "Timestamp of support request uploading to Resilio (in case auto uploading is enabled)"
                    },
                    "size": {
                      "type": "number",
                      "description": "Support request package size (bytes)"
                    },
                    "storage_path": {
                      "type": "string",
                      "description": "Support request directory. This directory is provided in case Management Console failed to archive the collected debug logs"
                    },
                    "archive_path": {
                      "type": "string",
                      "description": "Support request package path. This path is provided in case Management Console failed to upload the collected debug logs or autoupload is disabled"
                    }
                  },
                  "required": [
                    "id",
                    "status",
                    "agents_errors.agent_id",
                    "agents_errors.code",
                    "agents_errors.message",
                    "agents_lost_files.agent_id",
                    "agents_lost_files.files",
                    "agents_lost_files.files.name"
                  ]
                },
                "examples": {
                  "in_progress": {
                    "summary": "In progress:",
                    "value": {
                      "id": 1643293444297,
                      "progress": "70",
                      "status": "archiving logs"
                    }
                  },
                  "ready_for_manual_upload": {
                    "summary": "Ready for manual upload:",
                    "value": {
                      "id": 1643624586870,
                      "status": "ready",
                      "size": 21504,
                      "archive_path": "/path/to/support_requests/request_1643624586870.tar"
                    }
                  },
                  "ready_for_manual_upload_autoupload_failure": {
                    "summary": "Ready for manual upload (autoupload failure):",
                    "value": {
                      "id": 1643627134458,
                      "status": "failed to upload",
                      "error": "Failed to upload archive: getaddrinfo ENOTFOUND https://unknown",
                      "size": 21504,
                      "archive_path": "/path/to/support_requests/request_1643627134458.tar"
                    }
                  },
                  "uploaded": {
                    "summary": "Uploaded:",
                    "value": {
                      "id": 1643627517169,
                      "status": "ready",
                      "size": 21504,
                      "uploaded_at": 1643627547804,
                      "agents_errors": [
                        {
                          "agent_id": 1,
                          "code": "LR_AGENT_OFFLINE",
                          "message": "Agent is offline"
                        },
                        {
                          "agent_id": 2,
                          "code": "LR_TIMEOUT",
                          "message": "Agent did not upload logs and timed out. Please try to collect the logs again"
                        }
                      ],
                      "agents_lost_files": [
                        {
                          "agent_id": 3,
                          "files": [
                            {
                              "name": "sync.log.1639645766.zip",
                              "reason": "all attempts to download the file have failed"
                            }
                          ]
                        }
                      ]
                    }
                  },
                  "requires_manual_archiving_and_upload": {
                    "summary": "Requires manual archiving and upload:",
                    "value": {
                      "id": 1643628605828,
                      "status": "failed to archive",
                      "error": "EACCES: permission denied, mkdir '/path/to/support_requests/request_1643628605828'",
                      "storage_path": "/path/to/support_requests/request_1643628605828"
                    }
                  },
                  "failed_to_build": {
                    "summary": "Failed to build:",
                    "value": {
                      "id": 1643628005131,
                      "status": "error",
                      "error": "EACCES: permission denied, mkdir '/path/to/support_requests/request_1643628005131'"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetSupportRequestState",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/trackers": {
      "post": {
        "tags": [
          "Trackers"
        ],
        "summary": "Create tracker",
        "operationId": "CreateTracker",
        "description": "Create new tracker.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "addresses": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Tracker addresses. Only one address is allowed at moment"
                  },
                  "addresses.host": {
                    "type": "string",
                    "description": "Tracker address host"
                  },
                  "addresses.port": {
                    "type": "number",
                    "description": "Tracker address port"
                  },
                  "isDefault": {
                    "type": "boolean",
                    "description": "Use tracker if no particular tracker is selected in Agent's profile"
                  },
                  "skipConnectionCheck": {
                    "type": "boolean",
                    "description": "Skip tracker connection check"
                  }
                },
                "required": [
                  "addresses",
                  "addresses.host",
                  "addresses.port"
                ]
              },
              "examples": {
                "tracker_example": {
                  "summary": "Tracker example:",
                  "value": {
                    "addresses": [
                      {
                        "host": "test.location",
                        "port": 3000
                      }
                    ],
                    "isDefault": false,
                    "skipConnectionCheck": true
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateTracker",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Trackers"
        ],
        "summary": "Get all trackers",
        "operationId": "GetTrackers",
        "description": "Returns all trackers in array. See get tracker for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetTrackers",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/trackers/{id}": {
      "delete": {
        "tags": [
          "Trackers"
        ],
        "summary": "Delete tracker",
        "operationId": "DeleteTracker",
        "description": "Delete tracker.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tracker id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteTracker",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Trackers"
        ],
        "summary": "Get tracker by id",
        "operationId": "GetTracker",
        "description": "Returns tracker info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Tracker id"
                    },
                    "addresses": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Tracker addresses. Only one address is allowed at moment"
                    },
                    "addresses.host": {
                      "type": "string",
                      "description": "Tracker address host"
                    },
                    "addresses.port": {
                      "type": "number",
                      "description": "Tracker address port"
                    },
                    "lastOnline": {
                      "type": "number",
                      "description": "Last time Management Console connected to tracker (timestamp in seconds)"
                    },
                    "isDefault": {
                      "type": "boolean",
                      "description": "Use tracker if no particular tracker is selected in Agent's profile"
                    },
                    "skipConnectionCheck": {
                      "type": "boolean",
                      "description": "Skip tracker connection check"
                    },
                    "notReachableFlag": {
                      "type": "boolean",
                      "description": "A flag to determine whether Management Console is connected to tracker or not"
                    },
                    "errors": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Tracker connection errors"
                    },
                    "errors.id": {
                      "type": "string",
                      "description": "Tracker address"
                    },
                    "errors.message": {
                      "type": "string",
                      "description": "Connection error message"
                    }
                  },
                  "required": [
                    "id",
                    "addresses",
                    "addresses.host",
                    "addresses.port",
                    "lastOnline",
                    "isDefault",
                    "skipConnectionCheck",
                    "notReachableFlag",
                    "errors",
                    "errors.id",
                    "errors.message"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "addresses": [
                        {
                          "host": "test.host",
                          "port": 3000
                        }
                      ],
                      "isDefault": false,
                      "lastOnline": 1639749284993,
                      "skipConnectionCheck": true,
                      "errors": [
                        {
                          "id": "test.host:3000",
                          "message": "No connection"
                        }
                      ],
                      "notReachableFlag": true
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tracker id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetTracker",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Trackers"
        ],
        "summary": "Update tracker",
        "operationId": "UpdateTracker",
        "description": "Update tracker. Any tracker param listed below can be updated.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tracker id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "addresses": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Tracker addresses. Only one address is allowed at moment"
                  },
                  "addresses.host": {
                    "type": "string",
                    "description": "Tracker address host"
                  },
                  "addresses.port": {
                    "type": "number",
                    "description": "Tracker address port"
                  },
                  "isDefault": {
                    "type": "boolean",
                    "description": "Use tracker if no particular tracker is selected in Agent's profile"
                  },
                  "skipConnectionCheck": {
                    "type": "boolean",
                    "description": "Skip tracker connection check"
                  }
                },
                "required": [
                  "addresses",
                  "addresses.host",
                  "addresses.port"
                ]
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "addresses": [
                      {
                        "host": "test.connection.2",
                        "port": 3000
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateTracker",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/trackers/testconnection/{id}": {
      "post": {
        "tags": [
          "Trackers"
        ],
        "summary": "Test tracker connection",
        "operationId": "TestTrackerConnection",
        "description": "Test tracker connection.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connection": {
                      "type": "string",
                      "description": "Tracker address to which connection was successfully established"
                    }
                  },
                  "required": [
                    "connection"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Tracker id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "TestTrackerConnection",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/users": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create user",
        "operationId": "CreateUser",
        "description": "Create new user.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "User type"
                  },
                  "user_group_ids": {
                    "type": "number",
                    "description": "User groups id"
                  },
                  "username": {
                    "type": "string",
                    "description": "User name. Only for internal users"
                  },
                  "email": {
                    "type": "string",
                    "description": "User email. Only for internal users"
                  },
                  "password": {
                    "type": "string",
                    "description": "Password. Only for internal users"
                  },
                  "query": {
                    "type": "string",
                    "description": "Search query. Only for ldap user and ldap group"
                  }
                },
                "required": [
                  "type",
                  "user_group_ids"
                ]
              }
            }
          }
        },
        "x-apidocName": "CreateUser",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get all users",
        "operationId": "GetUsers",
        "description": "Returns all users in array. See get user for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetUsers",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/users/groups": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create user group",
        "operationId": "CreateUserGroup",
        "description": "Create new user group.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name"
                  },
                  "description": {
                    "type": "number",
                    "description": "Description"
                  },
                  "permissions": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Permissions"
                  },
                  "permissions.groups": {
                    "type": "string",
                    "description": "Agent groups permissions"
                  },
                  "permissions.agents": {
                    "type": "string",
                    "description": "Agents permissions"
                  },
                  "permissions.create_new_job": {
                    "type": "boolean",
                    "description": "Create new job permission"
                  },
                  "permissions.jobs": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Jobs permissions. Key is job id, value is \"view only\", \"run\", \"write\" or \"full\""
                  }
                },
                "required": [
                  "name",
                  "description",
                  "permissions",
                  "permissions.groups",
                  "permissions.agents",
                  "permissions.create_new_job",
                  "permissions.jobs"
                ]
              },
              "examples": {
                "create_user_group_example": {
                  "summary": "Create user group example:",
                  "value": "{\n\t\t\"description\": \"New user group description\",\n\t\t\"name\": \"New user group\",\n\t\t\"permissions\": {\n\t\t\tgroups: \"full\",\n\t\t\tagents: \"view only\",\n\t\t\tcreate_new_job: true,\n\t\t\tjobs: { \"2\": \"run\" }\n\t\t}\n}"
                }
              }
            }
          }
        },
        "x-apidocName": "CreateUserGroup",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get all user groups",
        "operationId": "GetUserGroups",
        "description": "Returns all user groups in array. See get user group for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetUserGroups",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/users/{id}": {
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete user",
        "operationId": "DeleteUser",
        "description": "Delete user.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteUser",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user by id",
        "operationId": "GetUser",
        "description": "Returns user info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "User id"
                    },
                    "type": {
                      "type": "string",
                      "description": "User type"
                    },
                    "user_group_ids": {
                      "type": "number",
                      "description": "User groups id"
                    },
                    "username": {
                      "type": "string",
                      "description": "User name. Only for internal users"
                    },
                    "email": {
                      "type": "string",
                      "description": "User email. Only for internal, azure user, oauth user and okta user"
                    },
                    "is_blocked": {
                      "type": "boolean",
                      "description": "User blocking state. Only for internal users"
                    },
                    "block_reason": {
                      "type": "string",
                      "description": "Block reason. Only for internal users"
                    },
                    "blocked_at": {
                      "type": "number",
                      "description": "Blocked at (in seconds). Only for internal users"
                    },
                    "enabled_2fa": {
                      "type": "boolean",
                      "description": "User 2fa state. Only for internal users"
                    },
                    "failed_login_attempts": {
                      "type": "number",
                      "description": "Failed login attempts. Only for internal users"
                    },
                    "password_exp": {
                      "type": "number",
                      "description": "Password will expire at (in seconds). Only for internal users"
                    },
                    "token_exp": {
                      "type": "number",
                      "description": "Token will expire at (in seconds). Only for azure user and okta user"
                    },
                    "name": {
                      "type": "number",
                      "description": "Name. Only for ldap user, azure user, oauth user, ldap group, ldap user(by group), azure service principal, okta user and okta oauth user"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Is active or not. \nReturns false for internal users if local accounts are disabled. \nReturns false for ldap users, ldap group and ldap user(by group) if AD integration is disabled. \nReturns false for azure user and azure service principal if Azure AD integration is disabled. \nReturns false for okta user and okta oauth user if Okta integration is disabled."
                    }
                  },
                  "required": [
                    "id",
                    "type",
                    "user_group_ids",
                    "active"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 6,
                      "type": "ldap user",
                      "name": "ORG\\ConnectAdmmin",
                      "active": true,
                      "user_group_ids": [
                        1
                      ]
                    }
                  },
                  "response_example_ldap_user": {
                    "summary": "Response example (LDAP user):",
                    "value": {
                      "id": 7,
                      "type": "ldap group",
                      "name": "ORG\\ConnectAdmins",
                      "active": true,
                      "user_group_ids": [
                        1
                      ]
                    }
                  },
                  "response_example_azure_ad_user": {
                    "summary": "Response example (Azure AD user):",
                    "value": {
                      "id": 8,
                      "type": "azure user",
                      "name": "test azure ad user",
                      "email": "testuser@gmail.com",
                      "active": true,
                      "token_exp": 1733230484,
                      "user_group_ids": [
                        1
                      ]
                    }
                  },
                  "response_example_okta_user": {
                    "summary": "Response example (Okta user):",
                    "value": {
                      "id": 9,
                      "type": "okta user",
                      "name": "test okta user",
                      "email": "testuser@gmail.com",
                      "active": true,
                      "token_exp": 1733230484,
                      "user_group_ids": [
                        1
                      ]
                    }
                  },
                  "response_example_okta_oauth_user": {
                    "summary": "Response example (Okta oauth user):",
                    "value": {
                      "id": 5,
                      "type": "okta oauth user",
                      "active": true,
                      "user_group_ids": [
                        1
                      ],
                      "name": "api_client1::super_administrator"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetUser",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update user",
        "operationId": "UpdateUser",
        "description": "Update user.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "User type"
                  },
                  "user_group_ids": {
                    "type": "number",
                    "description": "User groups id"
                  },
                  "username": {
                    "type": "string",
                    "description": "User name. Only for internal users"
                  },
                  "email": {
                    "type": "string",
                    "description": "User email. Only for internal users"
                  },
                  "password": {
                    "type": "string",
                    "description": "Password. Only for internal users"
                  }
                },
                "required": [
                  "type",
                  "user_group_ids"
                ]
              },
              "examples": {
                "update_user_example": {
                  "summary": "Update user example:",
                  "value": {
                    "type": "internal",
                    "username": "test@resilio.com",
                    "email": "test@resilio.com",
                    "user_group_ids": [
                      1
                    ],
                    "password": "newpwd"
                  }
                },
                "update_ldap_user_example": {
                  "summary": "Update ldap user example:",
                  "value": {
                    "type": "ldap user",
                    "user_group_ids": [
                      1
                    ]
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateUser",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/users/groups/{id}": {
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete user group",
        "operationId": "DeleteUserGroup",
        "description": "Delete user group.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User group id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteUserGroup",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user group by id",
        "operationId": "GetUserGroup",
        "description": "Returns user group info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "User group id"
                    },
                    "type": {
                      "type": "string",
                      "description": "Group type"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description"
                    },
                    "permissions": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Permissions"
                    },
                    "permissions.groups": {
                      "type": "string",
                      "description": "Agent groups permissions"
                    },
                    "permissions.agents": {
                      "type": "string",
                      "description": "Agents permissions"
                    },
                    "permissions.create_new_job": {
                      "type": "boolean",
                      "description": "Create new job permission"
                    },
                    "permissions.jobs": {
                      "type": "string",
                      "description": "Jobs permissions. Only for default groups"
                    }
                  },
                  "required": [
                    "id",
                    "type",
                    "name",
                    "description",
                    "permissions",
                    "permissions.groups",
                    "permissions.agents",
                    "permissions.create_new_job"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "type": "default group",
                      "name": "Super Administrator",
                      "description": "Has Administrator privileges and can manage Console Users",
                      "permissions": {
                        "groups": "full",
                        "agents": "full",
                        "create_new_job": true,
                        "jobs": "full"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User group id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetUserGroup",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update user group",
        "operationId": "UpdateUserGroup",
        "description": "Update user group.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name"
                  },
                  "description": {
                    "type": "number",
                    "description": "Description"
                  },
                  "permissions": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Permissions"
                  },
                  "permissions.groups": {
                    "type": "string",
                    "description": "Agent groups permissions"
                  },
                  "permissions.agents": {
                    "type": "string",
                    "description": "Agents permissions"
                  },
                  "permissions.create_new_job": {
                    "type": "boolean",
                    "description": "Create new job permission"
                  },
                  "permissions.jobs": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Jobs permissions. Key is job id, value is \"view only\", \"run\", \"write\" or \"full\""
                  }
                },
                "required": [
                  "name",
                  "description",
                  "permissions",
                  "permissions.groups",
                  "permissions.agents",
                  "permissions.create_new_job",
                  "permissions.jobs"
                ]
              },
              "examples": {
                "update_user_group_example": {
                  "summary": "Update user group example:",
                  "value": "{\n\t\t\"description\": \"New user group description\",\n\t\t\"name\": \"New user group\",\n\t\t\"permissions\": {\n\t\t\tgroups: \"full\",\n\t\t\tagents: \"view only\",\n\t\t\tcreate_new_job: true,\n\t\t\tjobs: { \"1\": \"full\" }\n\t\t}\n}"
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateUserGroup",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/users/groups/{id}/members": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user group's members",
        "operationId": "GetUserGroupMembers",
        "description": "Returns members of user group. See get user for the response details",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User group id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetUserGroupMembers",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/users/{id}/groups": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user's user groups",
        "operationId": "GetUserUserGroups",
        "description": "Returns user groups list assigned to user. See get user group for the response details",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "User id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetUserUserGroups",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/webhooks": {
      "post": {
        "tags": [
          "WebhooksAPI"
        ],
        "summary": "Create webhook",
        "operationId": "CreateWebhook",
        "description": "Create new webhook.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Webhook name"
                  },
                  "method": {
                    "type": "string",
                    "description": "HTTP method to send notification. POST method is used by default"
                  },
                  "url": {
                    "type": "string",
                    "description": "Webhook URL"
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "HTTP headers to send notification"
                  }
                },
                "required": [
                  "name",
                  "url",
                  "headers"
                ]
              },
              "examples": {
                "webhook_example": {
                  "summary": "Webhook example:",
                  "value": {
                    "name": "Team chat",
                    "url": "https://webhook.my",
                    "headers": {
                      "Content-Type:": "application/json"
                    }
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "CreateWebhook",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "WebhooksAPI"
        ],
        "summary": "Get all webhooks",
        "operationId": "GetWebhooks",
        "description": "Returns all webhooks in array. See get webhook for the response details.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "GetWebhooks",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/webhooks/{id}": {
      "delete": {
        "tags": [
          "WebhooksAPI"
        ],
        "summary": "Delete webhook",
        "operationId": "DeleteWebhook",
        "description": "Delete webhook.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Webhook id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "DeleteWebhook",
        "x-apidocVersion": "2.0.0"
      },
      "get": {
        "tags": [
          "WebhooksAPI"
        ],
        "summary": "Get webhook by id",
        "operationId": "GetWebhook",
        "description": "Returns webhook info.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "Webhook id"
                    },
                    "name": {
                      "type": "string",
                      "description": "Webhook name"
                    },
                    "method": {
                      "type": "string",
                      "description": "HTTP method to send notification"
                    },
                    "url": {
                      "type": "string",
                      "description": "Webhook URL"
                    },
                    "headers": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "HTTP headers to send notification"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "method",
                    "url",
                    "headers"
                  ]
                },
                "examples": {
                  "response_example": {
                    "summary": "Response example:",
                    "value": {
                      "id": 1,
                      "name": "Team chat",
                      "url": "https://webhook.my",
                      "method": "POST",
                      "headers": {
                        "Content-Type:": "application/json"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Webhook id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "x-apidocName": "GetWebhook",
        "x-apidocVersion": "2.0.0"
      },
      "put": {
        "tags": [
          "WebhooksAPI"
        ],
        "summary": "Update webhook",
        "operationId": "UpdateWebhook",
        "description": "Update webhook. Any webhook param listed below can be updated.",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Webhook id",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Webhook name"
                  },
                  "method": {
                    "type": "string",
                    "description": "HTTP method to send notification"
                  },
                  "url": {
                    "type": "string",
                    "description": "Webhook URL"
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "HTTP headers to send notification"
                  }
                }
              },
              "examples": {
                "request_body_example": {
                  "summary": "Request body example:",
                  "value": {
                    "method": "GET",
                    "url": "https://webhook1.my"
                  }
                }
              }
            }
          }
        },
        "x-apidocName": "UpdateWebhook",
        "x-apidocVersion": "2.0.0"
      }
    },
    "/": {
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Run on error webhook",
        "operationId": "JobRunOnErrorWebhook",
        "description": "Run on error webhook",
        "security": [
          {
            "tokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "Description in markdown format"
                    },
                    "trigger": {
                      "type": "string",
                      "description": "JOB_RUN_ERROR"
                    },
                    "job_run": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "See Run"
                    }
                  },
                  "required": [
                    "text",
                    "trigger",
                    "job_run"
                  ]
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "x-apidocName": "JobRunOnErrorWebhook",
        "x-apidocVersion": "2.0.0"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "tokenAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "Use the Token prefix followed by the API token, for example: Token XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "HTTP status code"
          },
          "message": {
            "type": "string",
            "description": "Error description"
          }
        },
        "required": [
          "code",
          "message"
        ]
      }
    },
    "responses": {
      "ErrorResponse": {
        "description": "Error response. Depending on the error, either a 4xx or 5xx response status is returned.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "not_found": {
                "value": {
                  "code": 404,
                  "message": "No job with id 22"
                }
              }
            }
          }
        }
      }
    }
  },
  "x-generatedFrom": "dev/pages/connect_api/api_data.js and dev/pages/connect_api/api_project.js",
  "x-sourceEntryCount": 173,
  "x-authentication": "Authorization header with Token prefix",
  "x-defaultContentType": "application/json",
  "x-rateLimits": "Not specified in the public apidoc source"
}
