{
    "swagger": "2.0",
    "info": {
        "contact": {}
    },
    "paths": {
        "/insights/api/v1/workspace/{workspace_id}/data_trends/projects": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns the projects' data trends projects from a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "insights"
                ],
                "summary": "Load projects' data trends",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Projects filter conditions",
                        "name": "project_trend_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/projects.ProjectTrend"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered projects",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/projects.ProjectTrends"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eWrong format date\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have the {feature} feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible\u003c/li\u003e\u003cli\u003eAdmin permissions required\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/insights/api/v1/workspace/{workspace_id}/profitability/employees.{extension}": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads employee profitability insights in the specified format: csv or xlsx.",
                "produces": [
                    "text/csv",
                    "text/xlsx"
                ],
                "tags": [
                    "insights",
                    "exports"
                ],
                "summary": "Export employee profitability insights",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "csv,xlsx",
                        "name": "extension",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Parameters for report",
                        "name": "parameters",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.EmployeeProfitability"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A stream with the csv or xlsx for the report being exported",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User has no access to workspace or is not admin",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/insights/api/v1/workspace/{workspace_id}/profitability/projects.{extension}": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads profitability project insights in the specified format: csv or xlsx.",
                "produces": [
                    "text/csv",
                    "text/xlsx"
                ],
                "tags": [
                    "insights",
                    "exports"
                ],
                "summary": "Export profitability project insights",
                "parameters": [
                    {
                        "description": "Parameters for report",
                        "name": "parameters",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectProfitability"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "csv,xlsx",
                        "name": "extension",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A stream with the csv or xlsx for the report being exported",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid parameters\u003c/li\u003e\u003cli\u003eInvalid workspace ID\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User has no access to workspace or is not admin",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/insights/api/v1/workspace/{workspace_id}/trends/projects.{extension}": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads projects data trends in the specified format: csv or xlsx.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "insights",
                    "exports"
                ],
                "summary": "Export projects data trends",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "csv,xlsx",
                        "name": "extension",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Projects filter conditions",
                        "name": "project_trend",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/projects.ProjectTrend"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns data projects data trends",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/projects.ProjectTrends"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003ewrong format date\u003c/li\u003e\u003cli\u003estart should come after end\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible\"\u003c/li\u003e\u003cli\u003euser has no required access to asked workspace\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/shared/{report_token}": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "\u003cp\u003eReturns the previously saved report.\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eAuthentication\u003c/b\u003e\u003c/p\u003e\u003cp\u003eA public report is accessible by anyone, a private one is only accessible by the report's owner or workspace admin. If the criteria aren't met it returns 403 status code.\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eParameters\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe report can be executed without parameters, and in this case the saved or default parameters will be used.\u003c/p\u003e",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "saved_reports"
                ],
                "summary": "Load the previously saved report",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Token for the saved report",
                        "name": "report_token",
                        "in": "path",
                        "required": true
                    },
                    {
                        "format": "date",
                        "description": "Starting date in the format YYYY-MM-DD",
                        "name": "start_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Unix timestamp(UTC) or null for proper pagination. This parameter only works in Detailed and Summary reports.",
                        "name": "first_timestamp",
                        "in": "body",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "format": "date",
                        "description": "End date in the format YYYY-MM-DD. This parameter only works in Detailed and Summary reports.",
                        "name": "end_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "collectionFormat": "csv",
                        "description": "Integer array with group_ids",
                        "name": "group_ids",
                        "in": "body",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "collectionFormat": "csv",
                        "description": "Integer array with user_ids",
                        "name": "user_ids",
                        "in": "body",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "collectionFormat": "csv",
                        "description": "Integer array with client_ids",
                        "name": "client_ids",
                        "in": "body",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "collectionFormat": "csv",
                        "description": "Integer array with project_ids",
                        "name": "project_ids",
                        "in": "body",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "collectionFormat": "csv",
                        "description": "Integer array with task_ids",
                        "name": "task_ids",
                        "in": "body",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "collectionFormat": "csv",
                        "description": "Integer array with tag_ids",
                        "name": "tag_ids",
                        "in": "body",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "description": "Case insensitive pattern that matches `.*(description).*`",
                        "name": "description",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Is billable filter on",
                        "name": "billable",
                        "in": "body",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "default": 0,
                        "description": "How the rounding is done: 1 is rounding up, -1 down, 0 for no rounding.",
                        "name": "rounding",
                        "in": "body",
                        "schema": {
                            "type": "integer",
                            "enum": [
                                -1,
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "default": 1,
                        "description": "Rounding amount in minutes",
                        "name": "rounding_minutes",
                        "in": "body",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "default": false,
                        "description": "If it is grouped or not. This parameter only works for Detailed report.",
                        "name": "grouped",
                        "in": "body",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "default": "projects",
                        "description": "Criteria to group by. This parameter only works for Summary report.",
                        "name": "grouping",
                        "in": "body",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "projects",
                                "users",
                                "clients"
                            ]
                        }
                    },
                    {
                        "default": "time_entries",
                        "description": "Criteria to subgroup. This parameter only works for Summary report.",
                        "name": "sub_grouping",
                        "in": "body",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "time_entries",
                                "users",
                                "clients",
                                "projects",
                                "tasks"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns report information",
                        "schema": {
                            "$ref": "#/definitions/saved.ReportOutput"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003ereport_type does not exist in params\u003c/li\u003e\u003cli\u003eThe report period is not supported\u003c/li/\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eUnable to extract authentication data\u003c/li\u003e\u003cli\u003eIncorrect username and/or password\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Invalid token",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "report is too big to be exported",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/shared/{report_token}/csv": {
            "post": {
                "security": [
                    {
                        "APIKeyAuth": [],
                        "BasicAuth": []
                    }
                ],
                "description": "\u003cp\u003eDownloads a previously saved report in csv.\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eAuthentication\u003c/b\u003e\u003c/p\u003e\u003cp\u003eA public report is accessible by anyone, a private one is only accessible by the report's owner or workspace admin. If the criteria aren't met it returns 403 status code.\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eParameters\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe report can be executed without parameters, and in this case the saved or default parameters will be used.\u003c/p\u003e",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "text/csv"
                ],
                "tags": [
                    "saved_reports",
                    "exports"
                ],
                "summary": "Export CSV for saved report",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Token for the saved report",
                        "name": "report_token",
                        "in": "path",
                        "required": true
                    },
                    {
                        "format": "date",
                        "description": "Starting date in the format YYYY-MM-DD",
                        "name": "start_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "format": "date",
                        "description": "End date in the format YYYY-MM-DD",
                        "name": "end_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns report information in csv form",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003ereport_type does not exist in params\u003c/li\u003e\u003cli\u003eThe report period is not supported\u003c/li/\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eUnable to extract authentication data\u003c/li\u003e\u003cli\u003eIncorrect username and/or password\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid token\u003c/li\u003e\u003cli\u003eWorkspace was not found or the report's owner is no longer active on it\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "parameter `since` is missing",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/shared/{report_token}/pdf": {
            "post": {
                "security": [
                    {
                        "APIKeyAuth": [],
                        "BasicAuth": []
                    }
                ],
                "description": "\u003cp\u003e\u003cb\u003eAuthentication\u003c/b\u003e\u003c/p\u003e\u003cp\u003eA public report is accessible by anyone, a private one is only accessible by the report's owner or workspace admin. If the criteria aren't met it returns 403 status code.\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eParameters\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe report can be executed without parameters, and in this case the saved or default parameters will be used.\u003c/p\u003e",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "saved_reports",
                    "exports"
                ],
                "summary": "Export saved report in pdf format",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Token for the saved report",
                        "name": "report_token",
                        "in": "path",
                        "required": true
                    },
                    {
                        "format": "date",
                        "description": "Starting date in the format YYYY-MM-DD",
                        "name": "start_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "format": "date",
                        "description": "End date in the format YYYY-MM-DD",
                        "name": "end_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Display mode for time data, only for detailed reports. Possible values: 'date_only', 'time_only', 'date_time'. Default value: 'date_and_time'",
                        "name": "display_mode",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns report information in pdf form",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003ereport_type does not exist in params\u003c/li\u003e\u003cli\u003eThe report period is not supported\u003c/li/\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eUnable to extract authentication data\u003c/li\u003e\u003cli\u003eIncorrect username and/or password\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid token\u003c/li\u003e\u003cli\u003eWorkspace was not found or the report's owner is no longer active on it\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "parameter `since` is missing",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/shared/{report_token}/xlsx": {
            "post": {
                "security": [
                    {
                        "APIKeyAuth": [],
                        "BasicAuth": []
                    }
                ],
                "description": "\u003cp\u003eDownloads a previously saved report in xlsx.\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eAuthentication\u003c/b\u003e\u003c/p\u003e\u003cp\u003eA public report is accessible by anyone, a private one is only accessible by the report's owner or workspace admin. If the criteria aren't met it returns 403 status code.\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eParameters\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe report can be executed without parameters, and in this case the saved or default parameters will be used.\u003c/p\u003e",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "text/xlsx"
                ],
                "tags": [
                    "saved_reports",
                    "exports"
                ],
                "summary": "Export XSLX saved report",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Token for the saved report",
                        "name": "report_token",
                        "in": "path",
                        "required": true
                    },
                    {
                        "format": "date",
                        "description": "Starting date in the format YYYY-MM-DD",
                        "name": "start_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "format": "date",
                        "description": "End date in the format YYYY-MM-DD",
                        "name": "end_date",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns report information in xlsx form",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003ereport_type does not exist in params\u003c/li\u003e\u003cli\u003eThe report period is not supported\u003c/li/\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eUnable to extract authentication data\u003c/li\u003e\u003cli\u003eIncorrect username and/or password\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid token\u003c/li\u003e\u003cli\u003eWorkspace was not found or the report's owner is no longer active on it\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "parameter `since` is missing",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/comparative": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns comparative report.",
                "produces": [
                    "application/json"
                ],
                "summary": "Load comparative report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Comparative reports conditions",
                        "name": "comparative_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/comparative.comparativePost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns comparative report",
                        "schema": {
                            "$ref": "#/definitions/comparative.report"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eDate range too large for given resolution\u003c/li\u003e\u003cli\u003eDate should be within 2006-01-01 to 2030-01-01\u003c/li\u003e\u003cli\u003eStart time must be before end time\u003c/li\u003e\u003cli\u003eResolution must be one of [day, week, month]\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/data_trends/clients": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns the clients' data trends.",
                "produces": [
                    "application/json"
                ],
                "summary": "Load clients' data trends",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Report data trends conditions",
                        "name": "data_trends_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/base.DataTrendsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns data trends report",
                        "schema": {
                            "$ref": "#/definitions/clients.dataTrendsReport"
                        }
                    },
                    "400": {
                        "description": "Currency is required parameter",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/data_trends/projects": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns projects' data trends.",
                "produces": [
                    "application/json"
                ],
                "summary": "Load projects' data trends",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Data trends conditions",
                        "name": "data_trends_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/base.DataTrendsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns data trends projects report",
                        "schema": {
                            "$ref": "#/definitions/projects.dataTrendsReport"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eCurrency is required parameter\u003c/li\u003e\u003cli\u003eInvalid date format\u003c/li\u003e\u003cli\u003eAt least 1 id required\u003c/li\u003e\u003cli\u003eMaximum 5 ids allowed\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible\"\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/data_trends/users": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns users' data trends.",
                "produces": [
                    "application/json"
                ],
                "summary": "Load users' data trends",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Report data trends conditions",
                        "name": "data_trends_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/base.DataTrendsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns data trends report",
                        "schema": {
                            "$ref": "#/definitions/users.dataTrendsReport"
                        }
                    },
                    "400": {
                        "description": "Currency is required parameter",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/filters/clients": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered clients from a workspace (only ID and name).",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List clients",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Clients filter conditions",
                        "name": "clients_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/dto.ClientFilterParamsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered clients",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ClientFilterResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Maximum count of posted IDs is 2000",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/filters/project_groups": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns the project groups from a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List project groups filter",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Project groups filter conditions",
                        "name": "project_groups_params",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectGroupParamsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns project groups",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ProjectGroupResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eMaximum count of posted IDs is {value}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/filters/project_users": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered user projects.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List project users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "User projects filter conditions",
                        "name": "status_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectUserParamsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns project users",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ProjectUserResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eMaximum count of posted IDs is {value}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/filters/projects": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered projects from a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List projects",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Projects filter conditions",
                        "name": "projects_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectFilterParamRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered projects",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ProjectFilterResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Maximum count of posted IDs is {value}",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/filters/projects/status": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns\tfiltered projects statuses from a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List projects statuses",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Projects statuses filter conditions",
                        "name": "status_filter_params",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectStatusParamsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns projects statuses",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ProjectStatusResponse"
                            }
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/filters/tasks/status": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Filter tasks statuses from a workspace",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List tasks statuses",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Task filter conditions",
                        "name": "tasks_status_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tasks.tasksStatusPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered tasks",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tasks.TaskStatus"
                            }
                        }
                    },
                    "400": {
                        "description": "At least one parameter must be set",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Tasks are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/filters/users": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered users from a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Users filter parameters",
                        "name": "users_filter",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/dto.UserFilterParamsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered users",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.UserFilterResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Maximum count of posted IDs is 100",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/profitability/projects": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns profitability projects report.",
                "produces": [
                    "application/json"
                ],
                "summary": "Load profitability projects report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Profitability projects report conditions",
                        "name": "project_profitability_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectProfitability"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns profitability report",
                        "schema": {
                            "$ref": "#/definitions/projects.Report"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eWrong format date\u003c/li\u003e\u003cli\u003eInvalid date span\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible\u003c/li\u003e\u003cli\u003eAdmin permissions required\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/projects/summary": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns summary user projects.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "summary_reports"
                ],
                "summary": "List project users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "User projects summary input filter",
                        "name": "project_users_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectUsersRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns summary user projects",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/users.ProjectUsersSummaryRow"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/projects/{project_id}/summary": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns project's summary.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "summary_reports"
                ],
                "summary": "Load project summary",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Project ID",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Date range conditions",
                        "name": "range_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/base.RangePost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns project summary",
                        "schema": {
                            "$ref": "#/definitions/totals.ReportData"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid project id\u003c/li\u003e\u003cli\u003eThe {parameter} parameter is required\u003c/li\u003e\u003cli\u003eInvalid {parameter} format\u003c/li\u003e\u003cli\u003e{date_range} should be within 2006-01-01 to 2030-01-01\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have the {feature} feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible\u003c/li\u003e\u003cli\u003eproject not found or not accessible\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/search/clients": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered clients from a workspace (whole client object).",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "Search clients",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Clients search conditions",
                        "name": "clients_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ClientFilterParamsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns searched clients",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ClientFilterResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eMaximum count of posted IDs is 2000\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/search/projects": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered projects from a workspace (whole project object).",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List projects",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Projects list conditions",
                        "name": "projects_filter_params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ProjectFilterParamRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns projects",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ProjectFilterResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eMaximum count of posted IDs is {value}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/search/time_entries": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns time entries for detailed report according to the given filters.\nSupports pagination via X-Next-ID and X-Next-Row-Number headers returned in the response.\nSee [Overview](https://developers.track.toggl.com/docs/reports_start#detailed-reports)",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "detailed_reports"
                ],
                "summary": "Search time entries",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Search report conditions",
                        "name": "search_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/detailed.Post"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns grouped time entries for detailed report",
                        "schema": {
                            "type": "string"
                        },
                        "headers": {
                            "X-Next-ID": {
                                "type": "string",
                                "description": "If has next page, contains the ID of first item in next page"
                            },
                            "X-Next-Row-Number": {
                                "type": "string",
                                "description": "If has next page, contains the row number of first item in next page"
                            },
                            "X-Range-End": {
                                "type": "string",
                                "description": "Actual end date used for query"
                            },
                            "X-Range-Start": {
                                "type": "string",
                                "description": "Actual start date used for query"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/search/time_entries.pdf": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads detailed report in pdf format.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "detailed_reports",
                    "exports"
                ],
                "summary": "Export detailed report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Detailed report conditions",
                        "name": "detailed_export_pdf_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/detailed.ExportPDFPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the detailed report in pdf format",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/search/time_entries.{extension}": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads detailed report in the specified format: csv or xlsx.",
                "produces": [
                    "text/csv",
                    "text/xlsx"
                ],
                "tags": [
                    "detailed_reports",
                    "exports"
                ],
                "summary": "Export detailed report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "csv,xlsx",
                        "name": "extension",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Detailed report conditions",
                        "name": "detailed_export_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/detailed.SearchExportPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the detailed report in the specified format: csv or xlsx",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/search/time_entries/totals": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns totals sums for detailed report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "detailed_reports"
                ],
                "summary": "Load totals detailed report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Totals detailed report conditions",
                        "name": "totals_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/totals.ReportPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns totals values sums for detailed report",
                        "schema": {
                            "type": "string"
                        },
                        "headers": {
                            "X-Range-End": {
                                "type": "string",
                                "description": "Actual end date used for query"
                            },
                            "X-Range-Start": {
                                "type": "string",
                                "description": "Actual start date used for query"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/search/users": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered users from a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Users filter parameters",
                        "name": "users_filter",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UserFilterParamsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns users",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/model.User"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eMaximum count of posted IDs is 100\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/summary/time_entries": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns time entries for summary report according to the given filters.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "summary_reports"
                ],
                "summary": "Search time entries",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Summary report conditions",
                        "name": "summary_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/summary.ReportPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the summary time entries",
                        "schema": {
                            "type": "string"
                        },
                        "headers": {
                            "X-Grouping": {
                                "type": "string",
                                "description": "Grouping used for report"
                            },
                            "X-Range-End": {
                                "type": "string",
                                "description": "Actual end date used for query"
                            },
                            "X-Range-Start": {
                                "type": "string",
                                "description": "Actual start date used for query"
                            },
                            "X-Sub-Grouping": {
                                "type": "string",
                                "description": "Sub grouping used for report"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/summary/time_entries.pdf": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads summary report in pdf format.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "summary_reports",
                    "exports"
                ],
                "summary": "Export summary report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Summary report conditions",
                        "name": "summary_export_pdf_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/summary.ExportPDFPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the summary report in pdf format",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/summary/time_entries.{extension}": {
            "post": {
                "security": [
                    {
                        "APIKeyAuth": [],
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads summary report in the specified in the specified format: csv or xlsx.",
                "produces": [
                    "text/csv",
                    "text/xlsx"
                ],
                "tags": [
                    "summary_reports",
                    "exports"
                ],
                "summary": "Export summary report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "csv,xlsx",
                        "name": "extension",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Summary report conditions",
                        "name": "summary_export_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/summary.ExportPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the summary report on the specified format: csv or xlsx",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/weekly/time_entries": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns time entries for weekly report according to the given filters.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weekly_reports"
                ],
                "summary": "Search time entries",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Weekly report conditions",
                        "name": "post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/base.Post"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the weekly report time entries",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eThe '{parameter}' parameter is not supported\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/weekly/time_entries.csv": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads weekly report in csv format.",
                "produces": [
                    "text/csv"
                ],
                "tags": [
                    "weekly_reports",
                    "exports"
                ],
                "summary": "Export weekly report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Weekly report conditions",
                        "name": "weekly_export_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/weekly.ExportPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the weekly report in csv format",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eThe '{parameter}' parameter is not supported\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/weekly/time_entries.pdf": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Downloads weekly report in pdf format.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "weekly_reports",
                    "exports"
                ],
                "summary": "Export weekly report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Weekly report conditions",
                        "name": "weekly_export_pdf_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/weekly.ExportPDFPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the weekly report in pdf format",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eInvalid workspace id\u003c/li\u003e\u003cli\u003eThe '{parameter}' parameter is not supported\u003c/li\u003e\u003cli\u003eInvalid '{parameter}' value, allowed values are: '{valid_values}'\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have this feature enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/reports/api/v3/workspace/{workspace_id}/{action}/tasks": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns filtered tasks from workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "utils"
                ],
                "summary": "List tasks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "search,filters",
                        "name": "action",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Task search conditions",
                        "name": "tasks_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/tasks.tasksPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns tasks",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Task"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eAt least one parameter must be set\u003c/li\u003e\u003cli\u003eMaximum count of posted IDs is 2000\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "base.BillableHourlyRate": {
            "type": "object",
            "properties": {
                "billable_seconds": {
                    "type": "integer"
                },
                "currency": {
                    "type": "string"
                },
                "hourly_rate_in_cents": {
                    "type": "integer"
                }
            }
        },
        "base.DataTrendsPost": {
            "type": "object",
            "properties": {
                "billable": {
                    "type": "boolean"
                },
                "currency": {
                    "type": "string"
                },
                "end_date": {
                    "type": "string"
                },
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "resolution": {
                    "type": "string"
                },
                "rounding": {
                    "type": "integer"
                },
                "rounding_minutes": {
                    "type": "integer"
                },
                "start_date": {
                    "type": "string"
                }
            }
        },
        "base.Post": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "base.RangePost": {
            "type": "object",
            "properties": {
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                }
            }
        },
        "clients.dataTrendsGraph": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/clients.dataTrendsGraphData"
                    }
                },
                "resolution": {
                    "type": "string"
                }
            }
        },
        "clients.dataTrendsGraphData": {
            "type": "object",
            "properties": {
                "clients": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/clients.reportClient"
                    }
                },
                "date": {
                    "type": "string"
                }
            }
        },
        "clients.dataTrendsReport": {
            "type": "object",
            "properties": {
                "currency": {
                    "type": "string"
                },
                "graph": {
                    "$ref": "#/definitions/clients.dataTrendsGraph"
                }
            }
        },
        "clients.reportClient": {
            "type": "object",
            "properties": {
                "billable_seconds": {
                    "type": "integer"
                },
                "client_id": {
                    "type": "integer"
                },
                "earnings": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "total_seconds": {
                    "type": "integer"
                }
            }
        },
        "comparative.comparativePost": {
            "type": "object",
            "properties": {
                "billable": {
                    "type": "boolean"
                },
                "client_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "end_date": {
                    "type": "string"
                },
                "group_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "project_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "resolution": {
                    "type": "string"
                },
                "rounding": {
                    "type": "integer"
                },
                "rounding_minutes": {
                    "type": "integer"
                },
                "start_date": {
                    "type": "string"
                },
                "tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "comparative.graphData": {
            "type": "object",
            "properties": {
                "date": {
                    "type": "string"
                },
                "total_seconds": {
                    "type": "integer"
                }
            }
        },
        "comparative.report": {
            "type": "object",
            "properties": {
                "graph": {
                    "$ref": "#/definitions/comparative.reportGraph"
                }
            }
        },
        "comparative.reportGraph": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/comparative.graphData"
                    }
                },
                "resolution": {
                    "type": "string"
                }
            }
        },
        "detailed.ExportPDFPost": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "cents_separator": {
                    "type": "string"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "date_format": {
                    "type": "string",
                    "enum": [
                        "MM/DD/YYYY",
                        "DD-MM-YYYY",
                        "MM-DD-YYYY",
                        "YYYY-MM-DD",
                        "DD/MM/YYYY",
                        "DD.MM.YYYY"
                    ]
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "display_mode": {
                    "type": "string"
                },
                "duration_format": {
                    "description": "Duration format, optional, default \"classic\". Can be \"classic\", \"decimal\" or \"improved\".",
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "enrich_response": {
                    "description": "EnrichResponse, optional, default false. It will force the detailed report to return as much information as possible,\nas it does for the export.",
                    "type": "boolean"
                },
                "first_id": {
                    "type": "integer"
                },
                "first_row_number": {
                    "type": "integer"
                },
                "first_timestamp": {
                    "type": "integer"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouped": {
                    "description": "Whether time entries should be grouped, optional, default false.",
                    "type": "boolean"
                },
                "hide_amounts": {
                    "description": "Whether amounts should be hidden, optional, default false.",
                    "type": "boolean"
                },
                "hour_format": {
                    "type": "string"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "order_by": {
                    "description": "Order by field, optional, default \"date\". Can be \"date\", \"user\", \"duration\", \"description\" or \"last_update\".",
                    "type": "string"
                },
                "order_dir": {
                    "description": "Order direction, optional. Can be ASC or DESC.",
                    "type": "string"
                },
                "page_size": {
                    "description": "PageSize defines the number of items per page, optional, default 50.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "detailed.GroupedTimeEntry": {
            "type": "object",
            "properties": {
                "billable": {
                    "type": "boolean"
                },
                "billable_amount_in_cents": {
                    "type": "integer"
                },
                "client_name": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "hourly_rate_in_cents": {
                    "type": "integer"
                },
                "project_color": {
                    "type": "string"
                },
                "project_hex": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                },
                "project_name": {
                    "type": "string"
                },
                "row_number": {
                    "type": "integer"
                },
                "tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "tag_names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "task_id": {
                    "type": "integer"
                },
                "task_name": {
                    "type": "string"
                },
                "time_entries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/detailed.SingleTimeEntry"
                    }
                },
                "toggl_accounts_id": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "detailed.Post": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "enrich_response": {
                    "description": "EnrichResponse, optional, default false. It will force the detailed report to return as much information as possible,\nas it does for the export.",
                    "type": "boolean"
                },
                "first_id": {
                    "type": "integer"
                },
                "first_row_number": {
                    "type": "integer"
                },
                "first_timestamp": {
                    "type": "integer"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouped": {
                    "description": "Whether time entries should be grouped, optional, default false.",
                    "type": "boolean"
                },
                "hide_amounts": {
                    "description": "Whether amounts should be hidden, optional, default false.",
                    "type": "boolean"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "order_by": {
                    "description": "Order by field, optional, default \"date\". Can be \"date\", \"user\", \"duration\", \"description\" or \"last_update\".",
                    "type": "string"
                },
                "order_dir": {
                    "description": "Order direction, optional. Can be ASC or DESC.",
                    "type": "string"
                },
                "page_size": {
                    "description": "PageSize defines the number of items per page, optional, default 50.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "detailed.SearchExportPost": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "duration_format": {
                    "description": "Duration format, optional, default \"classic\". Can be \"classic\", \"decimal\" or \"improved\".",
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "enrich_response": {
                    "description": "EnrichResponse, optional, default false. It will force the detailed report to return as much information as possible,\nas it does for the export.",
                    "type": "boolean"
                },
                "first_id": {
                    "type": "integer"
                },
                "first_row_number": {
                    "type": "integer"
                },
                "first_timestamp": {
                    "type": "integer"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouped": {
                    "description": "Whether time entries should be grouped, optional, default false.",
                    "type": "boolean"
                },
                "hide_amounts": {
                    "description": "Whether amounts should be hidden, optional, default false.",
                    "type": "boolean"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "order_by": {
                    "description": "Order by field, optional, default \"date\". Can be \"date\", \"user\", \"duration\", \"description\" or \"last_update\".",
                    "type": "string"
                },
                "order_dir": {
                    "description": "Order direction, optional. Can be ASC or DESC.",
                    "type": "string"
                },
                "page_size": {
                    "description": "PageSize defines the number of items per page, optional, default 50.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "detailed.SingleTimeEntry": {
            "type": "object",
            "properties": {
                "at": {
                    "type": "string"
                },
                "at_tz": {
                    "description": "used by reports v2 proxy",
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "seconds": {
                    "type": "integer"
                },
                "start": {
                    "type": "string"
                },
                "stop": {
                    "type": "string"
                }
            }
        },
        "dictionary.GeneralDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/dictionary.ReportDict"
            }
        },
        "dictionary.ProjectUserDict": {
            "type": "object",
            "properties": {
                "actual_hours": {
                    "type": "integer"
                },
                "actual_seconds": {
                    "type": "integer"
                },
                "client_id": {
                    "type": "integer"
                },
                "color": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "custom_period": {
                    "type": "integer"
                },
                "end_date": {
                    "type": "string"
                },
                "estimated_hours": {
                    "type": "integer"
                },
                "estimated_seconds": {
                    "type": "integer"
                },
                "external_reference": {
                    "type": "string"
                },
                "fixed_fee": {
                    "type": "number"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "recurring": {
                    "type": "boolean"
                },
                "recurring_period": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                }
            }
        },
        "dictionary.ReportDict": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dictionary.ReportDictionaries": {
            "type": "object",
            "properties": {
                "clients": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.ClientDictionary"
                },
                "filters": {
                    "description": "Remove it after FlexQ release.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dictionary.ReportDictionariesData"
                        }
                    ]
                },
                "projects": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.ProjectDictionary"
                },
                "tags": {
                    "$ref": "#/definitions/dictionary.GeneralDictionary"
                },
                "tasks": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.TaskDictionary"
                },
                "user_groups": {
                    "$ref": "#/definitions/dictionary.GeneralDictionary"
                },
                "users": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.UserDictionary"
                }
            }
        },
        "dictionary.ReportDictionariesData": {
            "type": "object",
            "properties": {
                "clients": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.ClientDictionary"
                },
                "projects": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.ProjectDictionary"
                },
                "tags": {
                    "$ref": "#/definitions/dictionary.GeneralDictionary"
                },
                "tasks": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.TaskDictionary"
                },
                "user_groups": {
                    "$ref": "#/definitions/dictionary.GeneralDictionary"
                },
                "users": {
                    "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.UserDictionary"
                }
            }
        },
        "dictionary.ReportUserDict": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "group_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "labour_cost": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.ClientFilterParamsRequest": {
            "type": "object",
            "properties": {
                "ids": {
                    "description": "Client IDs for filtering.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "name": {
                    "description": "Client name for filtering.",
                    "type": "string"
                },
                "start": {
                    "description": "Start is the client ID cursor for pagination.",
                    "type": "integer"
                }
            }
        },
        "dto.ClientFilterResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "Client ID.",
                    "type": "integer"
                },
                "name": {
                    "description": "Client name.",
                    "type": "string"
                }
            }
        },
        "dto.EmployeeProfitability": {
            "type": "object",
            "required": [
                "currency"
            ],
            "properties": {
                "currency": {
                    "type": "string"
                },
                "end_date": {
                    "type": "string"
                },
                "group_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "resolution": {
                    "type": "string",
                    "enum": [
                        "day",
                        "week",
                        "month",
                        "quarter"
                    ]
                },
                "rounding": {
                    "type": "integer"
                },
                "rounding_minutes": {
                    "type": "integer"
                },
                "start_date": {
                    "type": "string"
                },
                "user_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "dto.ProjectFilterParamRequest": {
            "type": "object",
            "properties": {
                "client_ids": {
                    "description": "Client IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "currency": {
                    "description": "Currency, optional, example \"EUR\".",
                    "type": "string"
                },
                "ids": {
                    "description": "Project IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "is_active": {
                    "description": "Whether the wanted projects are archived, optional, default false.",
                    "type": "boolean"
                },
                "is_billable": {
                    "description": "Whether the wanted projects are billable, optional, premium feature, default false.",
                    "type": "boolean"
                },
                "is_private": {
                    "description": "Whether the wanted projects are private, optional, default false.",
                    "type": "boolean"
                },
                "name": {
                    "description": "Project name, optional.",
                    "type": "string"
                },
                "page_size": {
                    "description": "PageSize is the number of records returned per page. If unset, the default value of 201 will be used.",
                    "type": "integer"
                },
                "start": {
                    "description": "Start is used for pagination, optional, default 0. The api will return the next projects page with id \u003e= Start.",
                    "type": "integer"
                }
            }
        },
        "dto.ProjectFilterResponse": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "billable": {
                    "type": "boolean"
                },
                "client_id": {
                    "type": "integer"
                },
                "color": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.ProjectGroupParamsRequest": {
            "type": "object",
            "properties": {
                "group_ids": {
                    "description": "Group IDs, optional. At least Projects IDs or Group IDs should be informed.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "project_ids": {
                    "description": "Project IDs, optional. At least Projects IDs or Group IDs should be informed.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "start_id": {
                    "type": "integer"
                }
            }
        },
        "dto.ProjectGroupResponse": {
            "type": "object",
            "properties": {
                "group_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                }
            }
        },
        "dto.ProjectProfitability": {
            "type": "object",
            "required": [
                "currency"
            ],
            "properties": {
                "billable": {
                    "description": "Whether the project is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "client_ids": {
                    "description": "Client IDs, optional. A nil entry on this list means that only projects without client will be selected.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "currency": {
                    "description": "Currency, example: \"usd\".",
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, optional, example: time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "project_ids": {
                    "description": "Project IDS, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "resolution": {
                    "description": "Resolution, optional. Can be \"day\", \"week\" or \"month\".",
                    "type": "string",
                    "enum": [
                        "day",
                        "week",
                        "month"
                    ]
                },
                "rounding": {
                    "description": "Rounding, optional, duration rounding settings, premium feature.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "RoundingMinutes, optional, duration rounding minutes settings, premium feature.",
                    "type": "integer"
                },
                "start_date": {
                    "description": "Start date, optional, example: time.DateOnly. Should be less than End date.",
                    "type": "string"
                }
            }
        },
        "dto.ProjectStatusParamsRequest": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Whether the wanted projects statuses are archived, optional, default false.",
                    "type": "boolean"
                },
                "ids": {
                    "description": "Project IDs.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "dto.ProjectStatusResponse": {
            "type": "object",
            "properties": {
                "billable_amount": {
                    "type": "integer"
                },
                "billable_seconds": {
                    "type": "integer"
                },
                "currency": {
                    "type": "string"
                },
                "estimated_seconds": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "tracked_seconds": {
                    "type": "integer"
                }
            }
        },
        "dto.ProjectUserParamsRequest": {
            "type": "object",
            "properties": {
                "client_ids": {
                    "description": "Client IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "project_ids": {
                    "description": "Project IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "start_id": {
                    "type": "integer"
                }
            }
        },
        "dto.ProjectUserResponse": {
            "type": "object",
            "properties": {
                "group_id": {
                    "description": "Group ID.",
                    "type": "integer"
                },
                "hourly_rate": {
                    "description": "Hourly rate.",
                    "type": "number"
                },
                "id": {
                    "description": "Project user ID.",
                    "type": "integer"
                },
                "labour_cost": {
                    "description": "Labor cost.",
                    "type": "integer"
                },
                "project_id": {
                    "description": "Project ID.",
                    "type": "integer"
                },
                "user_id": {
                    "description": "User ID.",
                    "type": "integer"
                }
            }
        },
        "dto.ProjectUsersRequest": {
            "type": "object",
            "properties": {
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                }
            }
        },
        "dto.UserFilterParamsRequest": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Whether the wanted users are active, optional, default true.",
                    "type": "boolean"
                },
                "ids": {
                    "description": "User IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "start": {
                    "description": "Cursor to point from where to start the search, it should be a user ID, optional.",
                    "type": "integer"
                }
            }
        },
        "dto.UserFilterResponse": {
            "type": "object",
            "properties": {
                "deleted_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "github_com_toggl_toggl_api_internal_reports_saved_dictionary.ClientDict": {
            "type": "object",
            "properties": {
                "external_reference": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "github_com_toggl_toggl_api_internal_reports_saved_dictionary.ClientDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.ClientDict"
            }
        },
        "github_com_toggl_toggl_api_internal_reports_saved_dictionary.ProjectDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/dictionary.ProjectUserDict"
            }
        },
        "github_com_toggl_toggl_api_internal_reports_saved_dictionary.TaskDict": {
            "type": "object",
            "properties": {
                "estimated_seconds": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                },
                "tracked_seconds": {
                    "type": "integer"
                }
            }
        },
        "github_com_toggl_toggl_api_internal_reports_saved_dictionary.TaskDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/github_com_toggl_toggl_api_internal_reports_saved_dictionary.TaskDict"
            }
        },
        "github_com_toggl_toggl_api_internal_reports_saved_dictionary.UserDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/dictionary.ReportUserDict"
            }
        },
        "indexed.Indexed-summary_SubGroupData-string": {
            "type": "object"
        },
        "model.User": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Whether the user is active or not.",
                    "type": "boolean"
                },
                "avatar": {
                    "description": "Avatar file name",
                    "type": "string"
                },
                "deactivated": {
                    "description": "Whether the user is deactivated or not.",
                    "type": "boolean"
                },
                "deleted_at": {
                    "description": "Deleted at date.",
                    "type": "string"
                },
                "email": {
                    "description": "Email",
                    "type": "string"
                },
                "fullname": {
                    "description": "Full name",
                    "type": "string"
                },
                "id": {
                    "description": "User ID",
                    "type": "integer"
                },
                "workspace_user_id": {
                    "description": "Workspace User ID",
                    "type": "integer"
                }
            }
        },
        "models.IntegrationProvider": {
            "type": "string",
            "enum": [
                "asana",
                "jira",
                "salesforce",
                "focus"
            ],
            "x-enum-varnames": [
                "AsanaProvider",
                "JIRAProvider",
                "SalesForceProvider",
                "FocusProvider"
            ]
        },
        "models.Task": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "False when the task has been done",
                    "type": "boolean"
                },
                "at": {
                    "description": "When the task was created/last modified",
                    "type": "string"
                },
                "avatar_url": {
                    "type": "string",
                    "x-nullable": true
                },
                "client_id": {
                    "type": "integer",
                    "x-nullable": true
                },
                "client_name": {
                    "type": "string",
                    "x-nullable": true
                },
                "estimated_seconds": {
                    "description": "Estimation time for this task in seconds",
                    "type": "integer",
                    "x-nullable": true
                },
                "external_reference": {
                    "description": "ExternalReference can be used to store an external reference to the Track Task Entity.",
                    "type": "string"
                },
                "id": {
                    "description": "Task ID",
                    "type": "integer"
                },
                "integration_ext_id": {
                    "description": "The external ID of the linked entity in the external system (e.g. JIRA/SalesForce)",
                    "type": "string"
                },
                "integration_ext_type": {
                    "description": "The external type of the linked entity in the external system (e.g. JIRA/SalesForce)",
                    "type": "string"
                },
                "integration_provider": {
                    "description": "The provider (e.g. JIRA/SalesForce) that has an entity linked to this Toggl Track entity",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.IntegrationProvider"
                        }
                    ]
                },
                "name": {
                    "description": "Task Name",
                    "type": "string"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "project_billable": {
                    "type": "boolean"
                },
                "project_color": {
                    "description": "Metadata",
                    "type": "string"
                },
                "project_id": {
                    "description": "Project ID",
                    "type": "integer"
                },
                "project_is_private": {
                    "type": "boolean",
                    "x-nullable": true
                },
                "project_name": {
                    "type": "string"
                },
                "rate": {
                    "description": "Rate for this task",
                    "type": "number"
                },
                "rate_last_updated": {
                    "description": "Last date for rate change",
                    "type": "string",
                    "x-nullable": true
                },
                "recurring": {
                    "description": "Whether this is a recurring task",
                    "type": "boolean"
                },
                "toggl_accounts_id": {
                    "description": "Task assignee, if set above this will be the toggl_account_id for that user",
                    "type": "string",
                    "x-nullable": true
                },
                "tracked_seconds": {
                    "description": "The value tracked_seconds is in milliseconds, not in seconds.",
                    "type": "integer"
                },
                "user_id": {
                    "description": "Task assignee, if available",
                    "type": "integer",
                    "x-nullable": true
                },
                "user_name": {
                    "type": "string",
                    "x-nullable": true
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "projects.ProjectTrend": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the project is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "previous_period_start": {
                    "description": "Previous start date, example time.DateOnly.",
                    "type": "string"
                },
                "project_ids": {
                    "description": "Project IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Rounding, optional, duration rounding settings, premium feature.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "RoundingMinutes, optional, duration rounding minutes settings, premium feature.",
                    "type": "integer"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                }
            }
        },
        "projects.ProjectTrends": {
            "type": "object",
            "properties": {
                "current_period_seconds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "end": {
                    "type": "string"
                },
                "previousStart": {
                    "type": "string"
                },
                "previous_period_seconds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "project_id": {
                    "type": "integer"
                },
                "start": {
                    "type": "string"
                },
                "user_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "projects.Report": {
            "type": "object",
            "properties": {
                "currency": {
                    "type": "string"
                },
                "graph": {
                    "$ref": "#/definitions/projects.reportGraph"
                },
                "table": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/projects.ReportTableRow"
                    }
                }
            }
        },
        "projects.ReportTableRow": {
            "type": "object",
            "properties": {
                "billable_seconds": {
                    "type": "integer"
                },
                "color": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "earnings": {
                    "type": "integer"
                },
                "labour_cost": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                },
                "total_seconds": {
                    "type": "integer"
                }
            }
        },
        "projects.dataTrendsGraph": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/projects.dataTrendsGraphData"
                    }
                },
                "resolution": {
                    "type": "string"
                }
            }
        },
        "projects.dataTrendsGraphData": {
            "type": "object",
            "properties": {
                "date": {
                    "type": "string"
                },
                "projects": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/projects.dataTrendsProject"
                    }
                }
            }
        },
        "projects.dataTrendsProject": {
            "type": "object",
            "properties": {
                "billable_seconds": {
                    "type": "integer"
                },
                "color": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "earnings": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                },
                "total_seconds": {
                    "type": "integer"
                }
            }
        },
        "projects.dataTrendsReport": {
            "type": "object",
            "properties": {
                "currency": {
                    "type": "string"
                },
                "graph": {
                    "$ref": "#/definitions/projects.dataTrendsGraph"
                }
            }
        },
        "projects.graphItem": {
            "type": "object",
            "properties": {
                "date": {
                    "type": "string"
                },
                "earnings": {
                    "type": "integer"
                },
                "labour_cost": {
                    "type": "integer"
                }
            }
        },
        "projects.reportGraph": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/projects.graphItem"
                    }
                },
                "resolution": {
                    "type": "string"
                }
            }
        },
        "saved.DetailedReportData": {
            "type": "object",
            "properties": {
                "report": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/detailed.GroupedTimeEntry"
                    }
                },
                "totals": {
                    "$ref": "#/definitions/totals.ReportData"
                }
            }
        },
        "saved.ReportOutput": {
            "type": "object",
            "properties": {
                "detailed_results": {
                    "$ref": "#/definitions/saved.DetailedReportData"
                },
                "dictionaries": {
                    "$ref": "#/definitions/dictionary.ReportDictionaries"
                },
                "features": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "boolean"
                    }
                },
                "fixed_daterange": {
                    "type": "boolean"
                },
                "hide_amounts": {
                    "type": "boolean"
                },
                "input_params": {
                    "type": "object",
                    "additionalProperties": true
                },
                "is_commenting_enabled": {
                    "type": "boolean"
                },
                "public": {
                    "type": "boolean"
                },
                "report_name": {
                    "type": "string"
                },
                "report_type": {
                    "type": "string",
                    "example": "weekly"
                },
                "saved_params": {
                    "type": "object",
                    "additionalProperties": true
                },
                "summary_results": {
                    "$ref": "#/definitions/saved.SummaryReportData"
                },
                "weekly_results": {
                    "$ref": "#/definitions/saved.WeeklyReportData"
                },
                "workspace_logo": {
                    "type": "string"
                }
            }
        },
        "saved.SummaryReportData": {
            "type": "object",
            "properties": {
                "report": {
                    "$ref": "#/definitions/summary.ReportData"
                },
                "totals": {
                    "$ref": "#/definitions/totals.ReportData"
                }
            }
        },
        "saved.WeeklyReportData": {
            "type": "object",
            "properties": {
                "report": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/weekly.DataRow"
                    }
                },
                "totals": {
                    "$ref": "#/definitions/totals.ReportData"
                }
            }
        },
        "summary.Audit": {
            "type": "object",
            "properties": {
                "group_filter": {
                    "$ref": "#/definitions/summary.AuditGroupFilter"
                },
                "show_empty_groups": {
                    "description": "Whether empty groups should be displayed, default false, premium feature.",
                    "type": "boolean"
                },
                "show_tracked_groups": {
                    "description": "Whether tacked groups should be displayed, default true, premium feature.",
                    "type": "boolean"
                }
            }
        },
        "summary.AuditGroupFilter": {
            "type": "object",
            "properties": {
                "currency": {
                    "description": "Audit currency, optional, example \"USD\", premium feature.",
                    "type": "string"
                },
                "max_amount_cents": {
                    "description": "Audit max amount in cents, optional, premium feature.",
                    "type": "integer"
                },
                "max_duration_seconds": {
                    "description": "Audit max duration in seconds, optional, premium feature.",
                    "type": "integer"
                },
                "min_amount_cents": {
                    "description": "Audit min amount in cents, optional, premium feature.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Audit min duration in seconds, optional, premium feature.",
                    "type": "integer"
                }
            }
        },
        "summary.ExportPDFPost": {
            "type": "object",
            "properties": {
                "audit": {
                    "$ref": "#/definitions/summary.Audit"
                },
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "cents_separator": {
                    "type": "string"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "collapse": {
                    "description": "Whether collapse others, optional, default false.",
                    "type": "boolean"
                },
                "date_format": {
                    "description": "Date format, optional, default \"MM/DD/YYYY\". Can be \"MM/DD/YYYY\", \"DD-MM-YYYY\", \"MM-DD-YYYY\", \"YYYY-MM-DD\", \"DD/MM/YYYY\" or \"DD.MM.YYYY\".",
                    "type": "string"
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "distinguish_rates": {
                    "description": "DistinguishRates will create new subgroups for each rate, optional, default false.",
                    "type": "boolean"
                },
                "duration_format": {
                    "description": "Duration format, optional, default \"classic\". Can be \"classic\", \"decimal\" or \"improved\".",
                    "type": "string",
                    "enum": [
                        "classic",
                        "decimal",
                        "improved"
                    ]
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouping": {
                    "description": "Grouping option, optional.",
                    "type": "string"
                },
                "hide_amounts": {
                    "description": "Whether amounts should be hidden, optional, default false.",
                    "type": "boolean"
                },
                "hide_rates": {
                    "description": "Whether rates should be hidden, optional, default false.",
                    "type": "boolean"
                },
                "include_time_entry_ids": {
                    "description": "Whether time entry IDs should be included in the results, optional, default false. Not applicable for export.",
                    "type": "boolean"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "order_by": {
                    "description": "Order by option, optional, default title. Can be title or duration.",
                    "type": "string"
                },
                "order_dir": {
                    "description": "Order direction, optional. Can be ASC or DESC.",
                    "type": "string"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "resolution": {
                    "description": "Graph resolution, optional. Allow clients to explicitly request a resolution.",
                    "type": "string"
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "sub_grouping": {
                    "description": "SubGrouping option, optional.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "summary.ExportPost": {
            "type": "object",
            "properties": {
                "audit": {
                    "$ref": "#/definitions/summary.Audit"
                },
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "collapse": {
                    "description": "Whether collapse others, optional, default false.",
                    "type": "boolean"
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "distinguish_rates": {
                    "description": "DistinguishRates will create new subgroups for each rate, optional, default false.",
                    "type": "boolean"
                },
                "duration_format": {
                    "description": "Duration format, optional, default \"classic\". Can be \"classic\", \"decimal\" or \"improved\".",
                    "type": "string",
                    "enum": [
                        "classic",
                        "decimal",
                        "improved"
                    ]
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouping": {
                    "description": "Grouping option, optional.",
                    "type": "string"
                },
                "hide_amounts": {
                    "description": "Whether amounts should be hidden, optional, default false.",
                    "type": "boolean"
                },
                "hide_rates": {
                    "description": "Whether rates should be hidden, optional, default false.",
                    "type": "boolean"
                },
                "include_time_entry_ids": {
                    "description": "Whether time entry IDs should be included in the results, optional, default false. Not applicable for export.",
                    "type": "boolean"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "order_by": {
                    "description": "Order by option, optional, default title. Can be title or duration.",
                    "type": "string"
                },
                "order_dir": {
                    "description": "Order direction, optional. Can be ASC or DESC.",
                    "type": "string"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "sub_grouping": {
                    "description": "SubGrouping option, optional.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "summary.GroupData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "ids": {
                    "description": "IDs will be used for tags grouping, can be ignored in all other cases. Don't confuse this IDs with the IDs in SubGroupData.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "names": {
                    "description": "names of the group, used for summary export",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "project_color": {
                    "type": "string"
                },
                "project_hex_color": {
                    "type": "string"
                },
                "sub_groups": {
                    "$ref": "#/definitions/indexed.Indexed-summary_SubGroupData-string"
                }
            }
        },
        "summary.ReportData": {
            "type": "object",
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/summary.GroupData"
                    }
                }
            }
        },
        "summary.ReportPost": {
            "type": "object",
            "properties": {
                "audit": {
                    "$ref": "#/definitions/summary.Audit"
                },
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "distinguish_rates": {
                    "description": "DistinguishRates will create new subgroups for each rate, optional, default false.",
                    "type": "boolean"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouping": {
                    "description": "Grouping option, optional.",
                    "type": "string"
                },
                "include_time_entry_ids": {
                    "description": "Whether time entry IDs should be included in the results, optional, default false. Not applicable for export.",
                    "type": "boolean"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "sub_grouping": {
                    "description": "SubGrouping option, optional.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "tasks.TaskStatus": {
            "type": "object",
            "properties": {
                "billable_amount": {
                    "type": "integer"
                },
                "billable_seconds": {
                    "type": "integer"
                },
                "currency": {
                    "type": "string"
                },
                "estimated_seconds": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "tracked_seconds": {
                    "type": "integer"
                }
            }
        },
        "tasks.tasksPost": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "name": {
                    "type": "string"
                },
                "page_size": {
                    "type": "integer"
                },
                "project_active": {
                    "type": "boolean"
                },
                "project_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "start": {
                    "type": "integer"
                },
                "user_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "tasks.tasksStatusPost": {
            "type": "object",
            "properties": {
                "ids": {
                    "description": "Time entries IDs.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "totals.Graph": {
            "type": "object",
            "properties": {
                "billable_amount_in_cents": {
                    "type": "integer"
                },
                "by_rate": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "labour_cost_in_cents": {
                    "type": "integer"
                },
                "seconds": {
                    "type": "integer"
                }
            }
        },
        "totals.ReportData": {
            "type": "object",
            "properties": {
                "billable_amount_in_cents": {
                    "type": "integer"
                },
                "graph": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/totals.Graph"
                    }
                },
                "labour_cost_in_cents": {
                    "type": "integer"
                },
                "rates": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/base.BillableHourlyRate"
                    }
                },
                "resolution": {
                    "type": "string"
                },
                "seconds": {
                    "type": "integer"
                },
                "tracked_days": {
                    "type": "integer"
                }
            }
        },
        "totals.ReportPost": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "granularity": {
                    "description": "Totals granularity, optional, overrides resolution values. Possible values: day, week and month.",
                    "type": "string"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouped": {
                    "description": "Whether time entries should be grouped, optional, default false.",
                    "type": "boolean"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "resolution": {
                    "description": "Graph resolution, optional. Allow clients to explicitly request a resolution.",
                    "type": "string"
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "Time entry IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "withInlineRates": {
                    "description": "Whether results should be returned in line, optional, default false.",
                    "type": "boolean"
                },
                "with_graph": {
                    "description": "Whether Graph information should be loaded, optional,  default false.",
                    "type": "boolean"
                }
            }
        },
        "users.ProjectUsersSummaryRow": {
            "type": "object",
            "properties": {
                "billable_seconds": {
                    "type": "integer"
                },
                "project_id": {
                    "type": "integer"
                },
                "tracked_seconds": {
                    "type": "integer"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "users.dataTrendsGraph": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/users.dataTrendsGraphData"
                    }
                },
                "resolution": {
                    "type": "string"
                }
            }
        },
        "users.dataTrendsGraphData": {
            "type": "object",
            "properties": {
                "date": {
                    "type": "string"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/users.dataTrendsUser"
                    }
                }
            }
        },
        "users.dataTrendsReport": {
            "type": "object",
            "properties": {
                "currency": {
                    "type": "string"
                },
                "graph": {
                    "$ref": "#/definitions/users.dataTrendsGraph"
                }
            }
        },
        "users.dataTrendsUser": {
            "type": "object",
            "properties": {
                "billable_seconds": {
                    "type": "integer"
                },
                "earnings": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "total_seconds": {
                    "type": "integer"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "weekly.DataRow": {
            "type": "object",
            "properties": {
                "billable_amounts_in_cents": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "billable_seconds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "client_name": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "hourly_rate_in_cents": {
                    "description": "In cents",
                    "type": "integer"
                },
                "planned_task_id": {
                    "type": "integer"
                },
                "project_color": {
                    "type": "string"
                },
                "project_hex_color": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                },
                "project_name": {
                    "type": "string"
                },
                "seconds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_id": {
                    "type": "integer"
                },
                "user_name": {
                    "type": "string"
                }
            }
        },
        "weekly.ExportPDFPost": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "calculate": {
                    "description": "Calculate option, optional. Can be by time or amounts.",
                    "type": "string"
                },
                "cents_separator": {
                    "type": "string"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "date_format": {
                    "description": "Date format, optional, default \"MM/DD/YYYY\". Can be \"MM/DD/YYYY\", \"DD-MM-YYYY\", \"MM-DD-YYYY\", \"YYYY-MM-DD\", \"DD/MM/YYYY\" or \"DD.MM.YYYY\".",
                    "type": "string"
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "duration_format": {
                    "description": "Duration format, optional, default \"classic\". Can be \"classic\", \"decimal\" or \"improved\".",
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "group_by_task": {
                    "description": "GroupByTask tells the weekly report to return the data grouped by all the usual groups plus planned task.",
                    "type": "boolean"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouping": {
                    "description": "Grouping option, optional.",
                    "type": "string"
                },
                "logo_url": {
                    "type": "string"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "weekly.ExportPost": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is set as billable, optional, premium feature.",
                    "type": "boolean"
                },
                "calculate": {
                    "description": "Calculate option, optional. Can be by time or amounts.",
                    "type": "string"
                },
                "client_ids": {
                    "description": "Client IDs, optional, filtering attribute. To filter records with no clients, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "description": "Description, optional, filtering attribute.",
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "group_by_task": {
                    "description": "GroupByTask tells the weekly report to return the data grouped by all the usual groups plus planned task.",
                    "type": "boolean"
                },
                "group_ids": {
                    "description": "Group IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouping": {
                    "description": "Grouping option, optional.",
                    "type": "string"
                },
                "max_duration_seconds": {
                    "description": "Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.",
                    "type": "integer"
                },
                "min_duration_seconds": {
                    "description": "Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.",
                    "type": "integer"
                },
                "project_ids": {
                    "description": "Project IDs, optional, filtering attribute. To filter records with no projects, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "rounding": {
                    "description": "Whether time should be rounded, optional, default from user preferences.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.",
                    "type": "integer"
                },
                "startTime": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Start date, example time.DateOnly. Should be less than End date.",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_ids": {
                    "description": "Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time_entry_ids": {
                    "description": "TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "description": "User IDs, optional, filtering attribute.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        }
    }
}