{
    "swagger": "2.0",
    "info": {
        "description": "Public Toggl API.\nNote:\nWe use BasicAuth in a specific way. By the standard you provide `Authentication` header with `base64(user_name:password)` as a `credential`.\nIn our case it will be `base64(user_name:api_token)`.",
        "title": "Toggl API",
        "termsOfService": "https://toggl.com/terms/",
        "contact": {},
        "license": {
            "name": "Toggl Proprietary License"
        },
        "version": "9"
    },
    "host": "localhost:8080",
    "basePath": "/api/v9",
    "paths": {
        "/auth/saml2/login": {
            "get": {
                "description": "Returns the SSO URL given an email address for authenticating in an Identity Provider.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "SAML2 Identity Provider URL",
                "operationId": "get-saml2-login-url",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User email",
                        "name": "email",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Client identification (webapp/toggl-button/client) TODO: add desktop identification",
                        "name": "client",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "State to be preserved when redirecting to Accounts API",
                        "name": "state",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/saml2.LoginResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003einvalid email address\u003c/li\u003e\u003cli\u003eSSO is not configured for this email address\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "We're sorry, but something went terribly wrong. We have been notified about the error. Please try again later.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/auth/saml2/login/{workspace_id}": {
            "post": {
                "description": "Receives the IdP Callback containing the SAML2 assertion with response of user authentication in the IdP.",
                "tags": [
                    "authentication"
                ],
                "summary": "SAML2 Identity Provider Callback",
                "operationId": "post-saml2-callback",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "SAML2 assertion with authentication response",
                        "name": "SAMLResponse",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Encoded string containing client and host which originated the requests",
                        "name": "RelayState",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "302": {
                        "description": "Authentication result URI",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "We're sorry, but something went terribly wrong. We have been notified about the error. Please try again later.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/avatars": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Handles POST avatar requests.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "avatars"
                ],
                "summary": "Avatars",
                "operationId": "post-avatars",
                "parameters": [
                    {
                        "type": "string",
                        "description": "file form data",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Avatar"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid content type for image\u003c/li\u003e\u003cli\u003eInvalid 'end_date' value\u003c/li\u003e\u003cli\u003eWe were unable to resize your image, please check your image and possibly convert it to a png or jpeg and try again\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Handles DELETE avatar requests.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "avatars"
                ],
                "summary": "Avatars",
                "operationId": "delete-avatars",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/avatars/use_gravatar": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Change user avatar to gravatar.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "avatars"
                ],
                "summary": "UseGravatar",
                "operationId": "post-use-gravatar",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Avatar"
                        }
                    },
                    "400": {
                        "description": "Couldn't fetch your Gravatar. Are you using the same e-mail both in Toggl and Gravatar?",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/countries": {
            "get": {
                "description": "Returns a list of existing countries",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "countries"
                ],
                "summary": "Countries",
                "operationId": "get-countries",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Country"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/countries/{country_id}/subdivisions": {
            "get": {
                "description": "Returns a list of subdivisions for a specific country.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "countries"
                ],
                "summary": "CountrySubdivisions",
                "operationId": "get-countries-country_id-subdivisions",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "country id",
                        "name": "country_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Subdivision"
                            }
                        }
                    },
                    "404": {
                        "description": "Invalid country code.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/currencies": {
            "get": {
                "description": "Returns a list of available currencies.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Currencies",
                "operationId": "get-currencies",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Currency"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/desktop_login": {
            "get": {
                "description": "Store new desktop login token",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "auth"
                ],
                "summary": "Get desktop login token",
                "responses": {
                    "302": {
                        "description": "Found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/desktop_login_tokens": {
            "post": {
                "description": "Store new desktop login token",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "auth"
                ],
                "summary": "Post desktop login token",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/desktop.LoginToken"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/feedback": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Send Feedback",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "feedback"
                ],
                "summary": "Feedback",
                "operationId": "post-unified-feedback",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Toggl version.",
                        "name": "toggl_version",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Feedback date.",
                        "name": "date",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Feedback details.",
                        "name": "details",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Update channel.",
                        "name": "update_channel",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Email subject.",
                        "name": "subject",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Device Model.",
                        "name": "device_model",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Build Number.",
                        "name": "build_number",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Operating system.",
                        "name": "operating_system",
                        "in": "formData"
                    },
                    {
                        "type": "boolean",
                        "description": "Latest feedback.",
                        "name": "latest",
                        "in": "formData"
                    },
                    {
                        "type": "file",
                        "description": "One or more files.",
                        "name": "files",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Feedback sent."
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePlease specify the toggl_version and date when sending feedback.\u003c/li\u003e\u003cli\u003ePlease specify the details of your feedback.\u003c/li\u003e\u003c/ul\u003e"
                    },
                    "500": {
                        "description": "Something else went wrong."
                    }
                }
            }
        },
        "/feedback/web": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Send Feedback web.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "feedback"
                ],
                "summary": "FeedbackWeb",
                "operationId": "post-feedback-web",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Toggl version.",
                        "name": "toggl_version",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Feedback date.",
                        "name": "date",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Feedback details.",
                        "name": "details",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Update channel.",
                        "name": "update_channel",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Email subject.",
                        "name": "subject",
                        "in": "formData"
                    },
                    {
                        "type": "boolean",
                        "description": "Latest feedback.",
                        "name": "latest",
                        "in": "formData"
                    },
                    {
                        "type": "file",
                        "description": "One or more files.",
                        "name": "files",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Feedback sent."
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePlease specify the toggl_version and date when sending feedback.\u003c/li\u003e\u003cli\u003ePlease specify the details of your feedback.\u003c/li\u003e\u003c/ul\u003e"
                    },
                    "500": {
                        "description": "Something else went wrong."
                    }
                }
            }
        },
        "/goals": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Gets all goals for the requesting user. The returned Goal will have only one type, but may have multiple\non the same type, like 3 projects, or more than one task. Billable will always be one.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Get a list of goals",
                "parameters": [
                    {
                        "type": "string",
                        "default": "false",
                        "name": "archived",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "workspace_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of goals for a given user",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.PlainGoal"
                            }
                        }
                    },
                    "403": {
                        "description": "User has no access to Goals feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create a Goal object with its parameters.\n`goal_type` field must contain either `projects` or `billable` object, not both, or `null` if the goal\nhas `workspace` type.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Create a Goal",
                "parameters": [
                    {
                        "description": "Goal details",
                        "name": "goal",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.PlainGoal"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Created Goal with its ID",
                        "schema": {
                            "$ref": "#/definitions/goals.ParamsCreate"
                        }
                    },
                    "400": {
                        "description": "Some required parameter was not filled, have invalid format or goals limit was reached",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User doesn't belong to given workspace, project or task. It also fails if project or task don't belong to workspace",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/goals/cadences": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Gets all cadences for the goals requested for the asking user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Get a list of goal cadences",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "amount",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "archived",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "name": "goal",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "offset",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of cadences for a given user",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/goals.CadenceResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/goals/insight": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get data insight for user simulating how much the user would accomplish for a given Goal",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Get a insight",
                "parameters": [
                    {
                        "description": "Insight details",
                        "name": "goal",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/goals.ParamsInsight"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Insight resulting for the query",
                        "schema": {
                            "$ref": "#/definitions/goals.InsightResponse"
                        }
                    },
                    "400": {
                        "description": "Some required parameter was not filled or have invalid format",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Some resource is not available",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/goals/{goal_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Gets a goal that belongs to the calling user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Get one goal",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Goal ID",
                        "name": "goal_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the asked goal",
                        "schema": {
                            "$ref": "#/definitions/models.PlainGoal"
                        }
                    },
                    "404": {
                        "description": "goal not found for this user",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete a goal that belongs to the calling user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Delete one goal",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Goal ID",
                        "name": "goal_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Goal deleted"
                    },
                    "400": {
                        "description": "invalid goal ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "goal not found for this user",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update a goal with the updateable parameters given by UpdateParams",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Update a Goal",
                "parameters": [
                    {
                        "description": "Goal details",
                        "name": "goal",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/goals.UpdateParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated Goal with the changed field",
                        "schema": {
                            "$ref": "#/definitions/models.Goal"
                        }
                    },
                    "400": {
                        "description": "Goal not found or not accessible by the user",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/goals/{goal_id}/stats": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Gets stats for a given goal that must belong to the calling user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "goals"
                ],
                "summary": "Get stats for a goal",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Goal ID",
                        "name": "goal_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the asked goal",
                        "schema": {
                            "$ref": "#/definitions/models.GoalStats"
                        }
                    },
                    "404": {
                        "description": "goal not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/ical/workspace_user/{token}": {
            "get": {
                "description": "Returns ical file with TEs from last 14 days",
                "produces": [
                    "text/calendar"
                ],
                "tags": [
                    "ical"
                ],
                "summary": "Ical file",
                "operationId": "get-ical",
                "responses": {
                    "200": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Paid feature"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/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": [
                    {
                        "description": "Parameters for report",
                        "name": "parameters",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.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/requests.ProjectProfitability"
                        }
                    },
                    {
                        "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"
                        }
                    }
                }
            }
        },
        "/integrations/calendar": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get all integrations a user has. Each user may have at most one integration per provider.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Get all integrations a user has.",
                "responses": {
                    "200": {
                        "description": "Integrations successfully retrieved",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Integration"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/calendars/selected": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get all selected calendars for a given user that was previously saved in the database.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Get all selected calendars for a given user.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Max results per page",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Token for next page. Used in pagination when the number of results exceed 'limit'",
                        "name": "page_token",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Calendars successfully retrieved",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.CalendarsResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ewhile paginating the limit should be always the same\u003c/li\u003e\u003cli\u003einvalid limit error. Please use a value between 0 and 250\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/callback/{provider}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Callback endpoint used only by the Calendar Service Provider, which fetches the code",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Callback for provider OAuth setup.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Calendar service provider",
                        "name": "provider",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "state string to verify user authenticity",
                        "name": "state",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Temporary code which will be used to fetch credentials",
                        "name": "code",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "302": {
                        "description": "URL passed in the return_to parameter in the setup with a 'result' query with value 'success', 'declined' or 'error'",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/events": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get all events from selected calendars for the caller user. This endpoint will only return events if events were fetched from provider before the request is made. Check which is the endpoint for the events.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Get all events for the caller user.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Smallest boundary date to search for calendar events",
                        "name": "start_date",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Biggest boundary date to search for calendar events",
                        "name": "end_date",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Max results per page",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Token for next page. Used in pagination when the number of results exceed 'limit'",
                        "name": "page_token",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Events successfully retrieved",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.EventsResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003estart_date has invalid format\u003c/li\u003e\u003cli\u003eend_date has invalid format\u003c/li\u003e\u003cli\u003estart_date should not be empty\u003c/li\u003e\u003cli\u003eend_date should not be empty\u003c/li\u003e\u003cli\u003estart_date should come before end_date\u003c/li\u003e\u003cli\u003eUser {user_id} has an invalid timezone\u003c/li\u003e\u003cli\u003e{date} has invalid format\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/events/details-suggestion": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Given one or more event IDs, this endpoint responds with the most probable event details\n(and its accuracy) to assign to the to-be-created time entry for each event ID.\nThis endpoint will only suggests time entries with description and project not empty, because it uses\nthe description to tell if the TE is similar and the project as the main detail to be suggested.\n\nIf the description is equal, as well as all the other details, the accuracy will be 100%, in the case\nthe description is equal but the other details differs, the most frequent will be suggested and the\naccuracy will be given based on the frequency. In the case there is no TE with the same description\nthe most similar will be suggested based on the Jaro-Winkler algorithm, and the accuracy will be the\nsimilarity rating.\n\nThis endpoint returns status 200 OK with only the successful suggestions. Any event ID that is invalid\nor the user does not have access to will be ignored, as well as any event that has no available suggestion.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Get details suggestion for given events.",
                "parameters": [
                    {
                        "description": "Request body containing the event IDs we want to get the suggestion for",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.PostDetailsSuggestionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Suggestions for specified events",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.PostDetailsSuggestionResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid, missing or too many event IDs",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/events/update": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Fetch all events from a user's selected calendars and save in database.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Update all events from selected calendars for a user.",
                "responses": {
                    "200": {
                        "description": "Amount of fetched events",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.Response"
                        }
                    },
                    "401": {
                        "description": "It's not possible to fetch data from the provider due to some constraint in the user account or an expired token",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ean error happened while loading user integrations\u003c/li\u003e\u003cli\u003ean error happened while loading user calendars\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/events/{event_id}/details-suggestion": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Given an event ID, this endpoint responds with the most probable event details (and the accuracy) to\nassign to the to-be-created time entry.\nThis endpoint will only suggests time entries with description and project not empty, because it uses the\ndescription to tell if the TE is similar and the project as the main detail to be suggested.\n\nIf the description is equal, as well as all the other details, the accuracy will be 100%, in the case\nthe description is equal but the other details differs, the most frequent will be suggested and the\naccuracy will be given based on the frequency. In the case there is no TE with the same description\nthe most similar will be suggested based on the Jaro-Winkler algorithm, and the accuracy will be the\nsimilarity rating.\n\nThis endpoint returns status 200 OK and a \"null\" string in case no suggestion was found.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Get details suggestion for a given event.",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Calendar event ID which we want to get a possible project to match",
                        "name": "event_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Suggestion of project to fill",
                        "schema": {
                            "$ref": "#/definitions/models.Suggestion"
                        }
                    },
                    "400": {
                        "description": "Invalid event ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003ethe user has no access to this calendar feature\u003c/li\u003e\u003cli\u003ethe user has no access to this event\u003c/li\u003e\u003cli\u003eevent with ID {event_id} was not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/setup": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Set up an integration with a given provider, returning a URL to the said provider in order to",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Get URL for setting up a calendar integration with given provider.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Calendar service provider which the calendars will be retrieved",
                        "name": "provider",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Page to which the user will be redirected after authenticating",
                        "name": "return_to",
                        "in": "query"
                    }
                ],
                "responses": {
                    "302": {
                        "description": "URL to authenticate with the provider",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "invalid provider name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "user plan does not allow multiple integrations with the same provider",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/{integration_id}": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Executes logic deletion of an integration.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Delete a given integration.",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Integration ID as saved in the database",
                        "name": "integration_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Integration removed",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "The integration was not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/{integration_id}/calendars": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get all calendars for a given integration that was previously saved in the database.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Get all calendars for a given integration.",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Integration ID as saved in the database",
                        "name": "integration_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Max results per page",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "if we should get the selected or not calendars, or all calendars, in case of omission",
                        "name": "selected",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Token for next page. Used in pagination when the number of results exceed 'limit'",
                        "name": "page_token",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Calendars successfully retrieved",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.CalendarsResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003einvalid integration_id value\u003c/li\u003e\u003cli\u003ewhile paginating the limit should be always the same\u003c/li\u003e\u003cli\u003einvalid limit error. Please use values between 0 and 250\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "you do not have access to the integration",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/{integration_id}/calendars/update": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "This endpoint uses the passed integration to get a provider and update all the calendars from that",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Updates calendar data according to provider API.",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Integration ID as saved in the database",
                        "name": "integration_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Calendars successfully retrieved",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.FetchedCalendarsResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003einvalid integration_id value\u003c/li\u003e\u003cli\u003eerror fetching data from the provider\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ecalendar access has been expired or revoked\u003c/li\u003e\u003cli\u003euser account may have been deleted at the provider\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "outlook calendar integration is a starter feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "you do not have access to the integration",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003einvalid calendar provider\u003c/li\u003e\u003cli\u003ecalendar integration does not exist\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/{integration_id}/calendars/{calendar_id}": {
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "This endpoint is used to set updatable fields of a calendar like selected field.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "Sets whether a calendar is or not selected by the user.",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Integration ID as saved in the database",
                        "name": "integration_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Calendar ID as saved in the database",
                        "name": "calendar_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Calendar fields to be updated",
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.PatchCalendar"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Calendars successfully updated",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Calendar"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eJSON is not valid\u003c/li\u003e\u003cli\u003ejson: unknown field\u003c/li\u003e\u003cli\u003eID is an invalid value for calendar_id\u003c/li\u003e\u003cli\u003eID is an invalid value for integration_id\u003c/li\u003e\u003cli\u003einvalid json: Default Task needs workspace_id, project_id and task_id\u003c/li\u003e\u003cli\u003einvalid json: Default Project needs workspace_id and project_id\u003c/li\u003e\u003cli\u003einvalid json: cannot set a Default Workspace\u003c/li\u003e\u003cli\u003ethe payload should not be empty\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "outlook calendar integration is a starter feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "you do not have access to the integration",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "you do not have a calendar with the given ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/integrations/calendar/{integration_id}/calendars/{id_calendar}/events": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get all events for a given calendar in a given integration.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "calendar"
                ],
                "summary": "(DEPRECATED) Get all events for a given calendar in a given integration.",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Integration ID as saved in the database",
                        "name": "integration_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Calendar ID as returned by the provider, it may be an e-mail address, for instance",
                        "name": "id_calendar",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Smallest boundary date to search for calendar events",
                        "name": "start_date",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Biggest boundary date to search for calendar events",
                        "name": "end_date",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Max results per page",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Token for next page. Used in pagination when the number of results exceed 'limit'",
                        "name": "page_token",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Events successfully retrieved",
                        "schema": {
                            "$ref": "#/definitions/handlercalendar.EventsResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eintegration_id should be a positive value\u003c/li\u003e\u003cli\u003ecalendar_id should be a positive value\u003c/li\u003e\u003cli\u003estart_date has invalid format\u003c/li\u003e\u003cli\u003eend_date has invalid format\u003c/li\u003e\u003cli\u003estart_date is not before end_data\u003c/li\u003e\u003cli\u003eerror fetching data from the provider\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ecalendar access has been expired or revoked\u003c/li\u003e\u003cli\u003euser account may have been deleted at the provider\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "outlook calendar integration is a starter feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "you do not have access to the integration",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003einvalid calendar provider\u003c/li\u003e\u003cli\u003ecalendar integration does not exist\u003c/li\u003e\u003cli\u003ecalendar with ID: {calendar_id} for user {user_id} not found\u003c/li\u003e\u003cli\u003ecalendar may have been deleted at the provider or user don't have access to it\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/invitations/{invitation_code}": {
            "get": {
                "description": "Returns an invitation data by code.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "invitations"
                ],
                "summary": "Get an invitation",
                "operationId": "get-invitations",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Invitation code",
                        "name": "invitation_code",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/models.SSOInvitation"
                        }
                    },
                    "404": {
                        "description": "Invitation not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/keys": {
            "get": {
                "description": "Returns the current JWKS keyset used to sign JWT tokens.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "keys"
                ],
                "summary": "get keys",
                "operationId": "get-keys",
                "responses": {
                    "200": {
                        "description": "JWKS keyset",
                        "schema": {
                            "$ref": "#/definitions/jwk.Set"
                        }
                    },
                    "500": {
                        "description": "We're sorry, but something went terribly wrong. We have been notified about the error. Please try again later.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns details for the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Me",
                "operationId": "get-me",
                "parameters": [
                    {
                        "type": "boolean",
                        "description": "Retrieve user related data (clients, projects, tasks, tags, workspaces, time entries, etc.)",
                        "name": "with_related_data",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/related.UserWithRelated"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "could not load user data",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Updates details for the current user.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json",
                    "text/plain"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Me",
                "operationId": "put-me",
                "parameters": [
                    {
                        "description": "Update user parameters",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/me.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.TogglUser"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eCurrent password is not valid\u003c/li\u003e\u003cli\u003eCurrent password must be present to change password\u003c/li\u003e\u003cli\u003eInvalid beginning_of_week\u003c/li\u003e\u003cli\u003eInvalid country_id\u003c/li\u003e\u003cli\u003eInvalid default_workspace_id\u003c/li\u003e\u003cli\u003eInvalid email\u003c/li\u003e\u003cli\u003eInvalid fullname\u003c/li\u003e\u003cli\u003eInvalid timezone\u003c/li\u003e\u003cli\u003ePassword should be at least 6 characters\u003c/li\u003e\u003cli\u003euser with this email already exists\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/accept_tos": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Accepts the last version of the Terms of Service for the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "AcceptTOS",
                "operationId": "post-me-accept-tos",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/all_workspaces": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Lists workspaces for given user, including all workspaces in an organization for an adminj.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "Workspaces",
                "operationId": "get-workspaces",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Retrieve workspaces created/modified/deleted since this date using UNIX timestamp, including the dates a workspace member got added, removed or updated in the workspace.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/workspace.WithActiveProjectCount"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/clients": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get Clients.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Clients",
                "operationId": "get-clients",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Retrieve clients created/modified/deleted since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Client"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/close_account": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Close Account",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "CloseAccount",
                "operationId": "post-close-account",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/disable_product_emails/{disable_code}": {
            "post": {
                "description": "Disable product emails.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Disable product emails",
                "operationId": "post-me-disable-product-emails",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Disable Code",
                        "name": "disable_code",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/disable_weekly_report/{weekly_report_code}": {
            "post": {
                "description": "Disable weekly report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Disable weekly report",
                "operationId": "post-me-disable-weekly-report",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Weekly report code",
                        "name": "weekly_report_code",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/enable_sso": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Confirm SSO enabling in existing Toggl account after successful SSO",
                "tags": [
                    "authentication"
                ],
                "summary": "Confirm SSO enabling for user account",
                "operationId": "post-enable-sso",
                "parameters": [
                    {
                        "description": "SSO enabling confirmation data",
                        "name": "enable_sso_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/sso.Confirmation"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003einvalid or expired confirmation code\u003c/li\u003e\u003cli\u003euser email doesn't match SSO credentials\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/export": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List of objects to be downloaded for an user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "exports"
                ],
                "summary": "Get a list of objects to be downloaded",
                "operationId": "get-me-export",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.DownloadRequestRecord"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "An object which data to be downloaded for an user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "exports"
                ],
                "summary": "Post an object which data to be downloaded",
                "operationId": "post-me-export",
                "parameters": [
                    {
                        "description": "Objects to export",
                        "name": "data_export_object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/export.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eCannot start another export until current one is complete\u003c/li\u003e\u003cli\u003eYou must select at least one object to export\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/export/data/{uuid}.zip": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get a zip file List of download requests from an user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "exports"
                ],
                "summary": "Get the zip file with download requests",
                "operationId": "get-me-export-data-uuid-zip",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eUser export data cannot be found or is expired\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/favorites": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Gets all favorites for the requesting user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "favorites"
                ],
                "summary": "Get a list of favorites",
                "operationId": "get-favorites",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Retrieve favorites created/deleted since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of favorites for a given user",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Favorite"
                            }
                        }
                    },
                    "403": {
                        "description": "User has no access to Favorites feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "This endpoint allows updating an array of favorites. It follow all the requirements\nand behavior from the [post] (Create Favorite) counterpart.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "favorites"
                ],
                "summary": "Update an array of favorites",
                "operationId": "update-favorite",
                "parameters": [
                    {
                        "type": "boolean",
                        "description": "Should the response contain data for meta entities",
                        "name": "meta",
                        "in": "query"
                    },
                    {
                        "description": "Favorite details",
                        "name": "favorite",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlerfavorites.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated favorite",
                        "schema": {
                            "$ref": "#/definitions/models.Favorite"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003ethe parameter '{parameter}' is invalid\u003c/li\u003e\u003cli\u003ewe could not parse the provided parameters\u003c/li\u003e\u003cli\u003euser %d has no access to Favorites feature\u003c/li\u003e\u003cli\u003efavorite attributes are not valid: {attributes}\u003c/li\u003e\u003cli\u003efavorite constraints were not met: {constraints}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003euser {user_id} has no access to Favorites feature\u003c/li\u003e\u003cli\u003euser {user_id} has no access to all resources: {resources}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "This endpoint allows the creation of a favorite given some parameters. The workspace is required, as well\nas either description or project (no favorite without both will be accepted). The user is also required,\nbut it already goes in the authentication.\nAlso, the user must have access to all resources being referenced in the favorite attributes, and these\nresources should have valid relationships. For instance, if you want a favorite in a given workspace and\nwith some tags, the tags must belong to that workspace. In case of user having no access to an attribute,\na 403 status is returned, if the attributes don't relate correctly between themselves the status\nreturned will be 400.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "favorites"
                ],
                "summary": "Create a favorite",
                "operationId": "create-favorite",
                "parameters": [
                    {
                        "type": "boolean",
                        "description": "Should the response contain data for meta entities",
                        "name": "meta",
                        "in": "query"
                    },
                    {
                        "description": "Favorite details",
                        "name": "favorite",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlerfavorites.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Created favorite with its ID",
                        "schema": {
                            "$ref": "#/definitions/models.Favorite"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003ethe parameter '{parameter}' is invalid\u003c/li\u003e\u003cli\u003ewe could not parse the provided parameters\u003c/li\u003e\u003cli\u003euser %d has no access to Favorites feature\u003c/li\u003e\u003cli\u003efavorite attributes are not valid: {attributes}\u003c/li\u003e\u003cli\u003efavorite constraints were not met: {constraints}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003euser {user_id} has no access to Favorites feature\u003c/li\u003e\u003cli\u003euser {user_id} has no access to all resources: {resources}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/favorites/suggestions": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "It will create 3 favorites based on past user's TE activity and return them. Suggested favorites will be created only once for a given user, and only if the user has never created a favorite before (either manually or by a previous suggestion request). If there is no past TE data there won't be suggested favorites either.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "favorites"
                ],
                "summary": "Generates and returns a list of suggested favorites.",
                "operationId": "post-favorites-suggestions",
                "responses": {
                    "201": {
                        "description": "List of suggested favorites",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Favorite"
                            }
                        }
                    },
                    "204": {
                        "description": "No suggested favorites",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User {user_id} has no access to Favorites feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/favorites/{favorite_id}": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Deletes a given favorite logically from database, as well as its tags.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "favorites"
                ],
                "summary": "Deletes a given favorite",
                "operationId": "delete-favorite",
                "responses": {
                    "204": {
                        "description": "Favorite deleted"
                    },
                    "400": {
                        "description": "{favorite_id} given favorite ID is invalid",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003euser {user_id} has no access to Favorites feature\u003c/li\u003e\u003cli\u003euser {user_id} is not the owner of favorite ID {favorite_id}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/features": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get features.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Features",
                "operationId": "get-me-features",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/me.Workspace"
                            }
                        }
                    },
                    "403": {
                        "description": "Operation Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/flags": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns flags for the current user. They will be represented by an object with dynamic string keys, where the value can be of any type.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Flags",
                "operationId": "get-me-flags",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/user.Flags"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Add flags for the current user. The current limits are 4 flags per request, 128 flags in total. Keys and values can be up to 32 and 64 characters, respectively.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Flags",
                "operationId": "post-me-flags",
                "parameters": [
                    {
                        "description": "flags",
                        "name": "postFlags",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user.Flags"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/user.Flags"
                        }
                    },
                    "400": {
                        "description": "No valid data submitted",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/location": {
            "get": {
                "description": "Returns the client's IP-based location. If no data is present, empty response will be yielded.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "User's last known location",
                "operationId": "get-me-location",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/me.UserLocationResponse"
                        }
                    },
                    "404": {
                        "description": "Country with given ISO code not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/logged": {
            "get": {
                "description": "Used to check if authentication works.",
                "tags": [
                    "me"
                ],
                "summary": "Logged",
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/lost_passwords": {
            "get": {
                "description": "Verifies the user request to reset the password.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "LostPassword",
                "operationId": "get-lost-password",
                "parameters": [
                    {
                        "description": "Token code",
                        "name": "token_code",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "description": "Handles the users request to reset the password.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "LostPassword",
                "operationId": "post-lost-password",
                "parameters": [
                    {
                        "description": "Lost Password Parameters",
                        "name": "post_lost_password",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.LostPassword"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/lost_passwords/confirm": {
            "post": {
                "description": "Handles lost password request confirmation.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "LostPassword conformation",
                "operationId": "post-lost-password-confirm",
                "parameters": [
                    {
                        "description": "New Password Data",
                        "name": "post_new_password",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/me.LostPasswordPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/notifications": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get notifications.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Notifications",
                "operationId": "get-me-notifications",
                "responses": {
                    "200": {
                        "description": "Notifications list",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.UserNotification"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/notifications/{notification_id}/seen": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Mark notification seen.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Notifications",
                "operationId": "put-notifications",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Notification ID.",
                        "name": "notification_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/organizations": {
            "get": {
                "description": "Get all organizations a given user is part of.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Organizations that a user is part of",
                "operationId": "get-organizations",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.MeOrganization"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/preferences": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns user preferences and alpha features. The list of alpha features contains a full list of feature codes (every feature that exists in database) and the `enabled` flag specifying if that feature should be enabled or disabled for the user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "preferences"
                ],
                "summary": "Preferences for the current user",
                "operationId": "get-preferences",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.AllPreferences"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "With this endpoint, preferences can be modified and alpha features can be enabled or disabled.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "preferences"
                ],
                "summary": "Update the preferences for the current user",
                "operationId": "post-preferences",
                "parameters": [
                    {
                        "description": "Preferences",
                        "name": "preferences",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.AllPreferences"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e \u003cul\u003e\u003cli\u003eCannot set value for ToSAcceptNeeded\u003c/li\u003e\u003cli\u003eInvalid feature code(s)\u003c/li\u003e\u003cli\u003eMissing data\u003c/li\u003e\u003cli\u003eValue in date_format is invalid\u003c/li\u003e\u003cli\u003eValue in timeofday_format is invalid\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/preferences/{client}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns user preferences and alpha features. The list of alpha features contains a full list of feature codes (every feature that exists in database) and the `enabled` flag specifying if that feature should be enabled or disabled for the user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "preferences"
                ],
                "summary": "Preferences for an specific client of the current user",
                "operationId": "get-preferences-client",
                "parameters": [
                    {
                        "enum": [
                            "desktop",
                            "web"
                        ],
                        "type": "string",
                        "description": "Client type",
                        "name": "client",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.AllPreferences"
                        }
                    },
                    "400": {
                        "description": "Unknown client.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "With this endpoint, preferences can be modified and alpha features can be enabled or disabled.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "preferences"
                ],
                "summary": "Update the preferences for an specific client of the current user",
                "operationId": "post-preferences-client",
                "parameters": [
                    {
                        "enum": [
                            "desktop",
                            "web"
                        ],
                        "type": "string",
                        "description": "Client type",
                        "name": "client",
                        "in": "path"
                    },
                    {
                        "description": "Preferences",
                        "name": "preferences",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.AllPreferences"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e \u003cul\u003e\u003cli\u003eCannot set value for ToSAcceptNeeded\u003c/li\u003e\u003cli\u003eInvalid feature code(s)\u003c/li\u003e\u003cli\u003eMissing data\u003c/li\u003e\u003cli\u003eUnknown client\u003c/li\u003e\u003cli\u003eValue in date_format is invalid\u003c/li\u003e\u003cli\u003eValue in timeofday_format is invalid\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/projects": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get projects",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Projects",
                "operationId": "get-me-projects",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Include archived projects.",
                        "name": "include_archived",
                        "in": "formData"
                    },
                    {
                        "type": "integer",
                        "description": "Retrieve projects modified since this date using UNIX timestamp, including deleted ones.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Project"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid include_archived",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Operation Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/projects/paginated": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get paginated projects.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "ProjectsPaginated",
                "operationId": "get-me-projects-paginated",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Project ID to resume the next pagination from.",
                        "name": "start_project_id",
                        "in": "formData"
                    },
                    {
                        "type": "integer",
                        "description": "Retrieve projects created/modified/deleted since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    },
                    {
                        "type": "integer",
                        "description": "Number of items per page, default 201.",
                        "name": "per_page",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Project"
                            }
                        }
                    },
                    "403": {
                        "description": "Operation Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/push_services": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get list of firebase tokens registered for current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "PushServices",
                "operationId": "get-push-services",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "403": {
                        "description": "Operation forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Register Firebase token for current user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "PushServices",
                "operationId": "post-push-services",
                "parameters": [
                    {
                        "description": "FirebaseToken",
                        "name": "post_push_services_subscribe",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/push.postPushServicesSubscribe"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Field 'fcm_registration_token' is required",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Operation forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Unregister Firebase token for current user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "PushServices",
                "operationId": "delete-push-services",
                "parameters": [
                    {
                        "description": "FirebaseToken",
                        "name": "delete_push_services_unsubscribe",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/push.deletePushServicesUnsubscribe"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Field 'fcm_registration_token' is required",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Operation forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/reset_token": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Resets API token for the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "ResetToken",
                "operationId": "post-reset-token",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/sessions": {
            "post": {
                "description": "Creates a session and sets a cookie in the response header which can be used for authentication in API requests",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "Create session",
                "parameters": [
                    {
                        "description": "Session preferences",
                        "name": "session_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/me.postSessionHandlerRequestBody"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/models.User"
                        }
                    },
                    "400": {
                        "description": "Invalid JSON input",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Deletes a session used for authenticating the current request",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "Delete session",
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/tags": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns tags for the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Tags",
                "operationId": "get-tags",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Retrieve tags modified/deleted since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Tag"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/tasks": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns tasks from projects in which the user is participating.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "Tasks",
                "operationId": "get-tasks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Retrieve tasks created/modified/deleted since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Include tasks marked as done.",
                        "name": "include_not_active",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Task"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid include_not_active",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/time_entries": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Lists latest time entries.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "TimeEntries",
                "operationId": "get-time-entries",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Get entries modified since this date using UNIX timestamp, including deleted ones.",
                        "name": "since",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Get entries with start time, before given date (YYYY-MM-DD) or with time in RFC3339 format.",
                        "name": "before",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Get entries with start time, from start_date YYYY-MM-DD or with time in RFC3339 format. To be used with end_date.",
                        "name": "start_date",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Get entries with start time, until end_date YYYY-MM-DD or with time in RFC3339 format. To be used with start_date.",
                        "name": "end_date",
                        "in": "formData"
                    },
                    {
                        "type": "boolean",
                        "description": "Should the response contain data for meta entities",
                        "name": "meta",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include sharing details in the response",
                        "name": "include_sharing",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.TimeEntry"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/time_entries/current": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Load running time entry for user ID.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "Get current time entry",
                "operationId": "get-current-time-entry",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntry"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/time_entries/{time_entry_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Load time entry by ID that is accessible by the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "Get a time entry by ID.",
                "operationId": "get-time-entry-by-id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "TimeEntry ID.",
                        "name": "time_entry_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "Should the response contain data for meta entities",
                        "name": "meta",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include sharing details in the response",
                        "name": "include_sharing",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntry"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/time_entries/{time_entry_id}/notes": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Load time entry by ID that is accessible by the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "Get a time entries' notes by ID.",
                "operationId": "get-time-notes-entry-notes-by-id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "TimeEntry ID.",
                        "name": "time_entry_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntryNotes"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Load time entry notes by ID that is accessible by the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "Put a time entry notes by ID.",
                "operationId": "put-time-entry-notes-by-id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "TimeEntry ID.",
                        "name": "time_entry_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntryNotes"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete time entry notes by ID that is accessible by the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries_notes"
                ],
                "summary": "delete a time entry note by ID.",
                "operationId": "delete-time-entry-notes-by-id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "TimeEntry ID.",
                        "name": "time_entry_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete Successfull",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/timesheets": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns the timehseets for the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "User's Timesheets",
                "operationId": "get-me-timesheets",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Timesheet"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/track_reminders": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns a list of track reminders.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "TrackReminders",
                "operationId": "get-me-track-reminders",
                "responses": {
                    "200": {
                        "description": "Returns a list of track reminders.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.TrackReminder"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/web-timer": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get web timer.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "me"
                ],
                "summary": "WebTimer",
                "operationId": "get-web-timer",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Operation Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/me/workspaces": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Lists workspaces for given user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces",
                    "me"
                ],
                "summary": "Workspaces",
                "operationId": "get-workspaces",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Retrieve workspaces created/modified/deleted since this date using UNIX timestamp, including the dates a workspace member got added, removed or updated in the workspace.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/workspace.Workspace"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/mobile/feedback": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Send Mobile Feedback.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "mobile"
                ],
                "summary": "MobileFeedback",
                "operationId": "post-mobile-feedback",
                "parameters": [
                    {
                        "description": "Feedback parameters.",
                        "name": "mobile_feedback_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.MobileFeedback"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Feedback sent",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Creates a new organization with a single workspace and assigns current user as the organization owner",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "Creates a new organization",
                "operationId": "post-organization",
                "parameters": [
                    {
                        "description": "Input data for organization.",
                        "name": "post_organizations_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.PostPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Organization and workspace IDs",
                        "schema": {
                            "$ref": "#/definitions/organization.PostOrganizationReply"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eField 'name' cannot be empty.\u003c/li\u003e\u003cli\u003eorganization name too long, maximum length is 140\u003c/li\u003e\u003cli\u003eworkspace name must contain non-space characters\u003c/li\u003e\u003cli\u003eworkspace name must be provided\u003c/li\u003e\u003cli\u003eworkspace name must not be longer than 140\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User is not authorized to create an organization",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/invitations/{invitation_code}/accept": {
            "post": {
                "description": "User connected with invitation is marked as joined, email is sent to the inviter.",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "organizations",
                    "invitations"
                ],
                "summary": "Accepts invitation",
                "operationId": "post-organization-accept-invitation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Invitation code",
                        "name": "inviutation_code",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Invalid invitation code",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/invitations/{invitation_code}/reject": {
            "post": {
                "description": "User connected with invitation is marked as deleted.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "invitations"
                ],
                "summary": "Rejects invitation",
                "operationId": "post-reject-invitation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Invitation code",
                        "name": "inviutation_code",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Invalid invitation code",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns organization name and current pricing plan",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "Organization data",
                "operationId": "get-organization",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/models.MeOrganization"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid organization ID\u003c/li\u003e\u003cli\u003eUser not part of organization\u003c/li\u003e\u003c/ul\u003e"
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Updates an existing organization",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "Updates an existing organization",
                "operationId": "put-organization",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for organization.",
                        "name": "put_organizations_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.PutPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eInvalid organization ID\u003c/li\u003e\u003cli\u003eAt least one field is required\u003c/li\u003e\u003cli\u003efield 'name' cannot be empty\u003c/li\u003e\u003cli\u003eorganization name too long, maximum length is 140\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User is not authorized to update the organization",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/customer": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to fetch customer data.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/customer"
                ],
                "summary": "Customer",
                "operationId": "get-organization-customer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns customer data.",
                        "schema": {
                            "$ref": "#/definitions/models.Customer"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.\" if user is not an admin.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/customer/contact_detail": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to save contact details.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/customer"
                ],
                "summary": "ContactDetails",
                "operationId": "post-organization-customer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for contact details.",
                        "name": "contact_detail_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/subscription.ContactDetailRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns subscription data.",
                        "schema": {
                            "$ref": "#/definitions/models.ContactDetail"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003epricing_plan_id required\u003c/li\u003e\u003cli\u003ethe company_name field is required\u003c/li\u003e\u003cli\u003ethe company_address field is required\u003c/li\u003e\u003cli\u003eMissing e-mail\u003c/li\u003e\u003cli\u003eInvalid e-mail: \u003cemail\u003e\u003c/email\u003e\u003c/li\u003e\u003cli\u003ecountry_id invalid\u003c/li\u003e\u003cli\u003einvalid country_subdivision_id\u003c/li\u003e\u003cli\u003einvalid country/subdivision combination\u003c/li\u003e\u003cli\u003ethe country_subdivision_id field is required for US customers\u003c/li\u003e\u003cli\u003ethe zip_code field is required for US customers\u003c/li\u003e\u003cli\u003einvalid zip_code\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "'Admin permissions required.' if user is not an admin.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/groups": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns list of groups in organization based on set of url parameters.\nList is sorted by name.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups",
                    "organizations"
                ],
                "summary": "List of groups in organization with user and workspace assignments",
                "operationId": "get-organization-groups",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Returns records where name contains this string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "ID of workspace. Returns groups assigned to this workspace",
                        "name": "workspace",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/group.OrganizationGroupResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid number ...",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Creates a group in the specified organization",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups",
                    "organizations"
                ],
                "summary": "Create group",
                "operationId": "post-organization-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for group creation.",
                        "name": "post_group_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/group.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the created group data.",
                        "schema": {
                            "$ref": "#/definitions/group.OrganizationGroupResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eGroup name must be present\u003c/li\u003e\u003cli\u003eGroup name too long, maximum length is 200\u003c/li\u003e\u003cli\u003eName has already been taken\u003c/li\u003e\u003cli\u003eUser {user} not exists in the organization {org}\u003c/li\u003e\u003cli\u003eWorkspace {ws} not exists in the organization {org}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/groups/{group_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Edits a group in the specified organization",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations",
                    "groups"
                ],
                "summary": "Edit group",
                "operationId": "put-organization-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for group modification.",
                        "name": "put_group_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/group.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the created group data.",
                        "schema": {
                            "$ref": "#/definitions/group.OrganizationGroupResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eGroup name must be present\u003c/li\u003e\u003cli\u003eGroup name too long, maximum length is 200\u003c/li\u003e\u003cli\u003eName has already been taken\u003c/li\u003e\u003cli\u003eUser {user} not exists in the organization {org}\u003c/li\u003e\u003cli\u003eWorkspace {ws} not exists in the organization {org}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Invalid group ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Deletes a group from the specified organization",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "groups",
                    "organizations",
                    ""
                ],
                "summary": "Deletes group",
                "operationId": "delete-organization-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the group.",
                        "name": "group_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Invalid group ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Patches a group in the specified organization. Patches are applied individually.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations",
                    "groups"
                ],
                "summary": "Patch group",
                "operationId": "patch-organization-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the group.",
                        "name": "group_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Array of patch operations.",
                        "name": "patch_group_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/groups.PatchInput"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the result of the requested operations.",
                        "schema": {
                            "$ref": "#/definitions/groups.PatchOutput"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eEmpty or invalid patch operation\u003c/li\u003e\u003cli\u003eEmpty or invalid patch path\u003c/li\u003e\u003cli\u003eUnknown group at organization\u003c/li\u003e\u003cli\u003eToo many patches\u003c/i\u003e\u003ci\u003eToo many values per patch\u003c/i\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Invalid group ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/invitations": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Creates a new invitation for the user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "invitations",
                    "organizations"
                ],
                "summary": "Creates a new invitation for the user",
                "operationId": "post-organization-invitation",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for invitation creation",
                        "name": "post_invitation_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/invitation.Post"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Created user invitations",
                        "schema": {
                            "$ref": "#/definitions/invitation.Result"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eInvalid organization id\u003c/li\u003e\u003cli\u003eat least one email is required\u003c/li\u003e\u003cli\u003eat least one workspace is required\u003c/li\u003e\u003cli\u003eMissing e-mail\u003c/li\u003e\u003cli\u003eInvalid e-mail: '...'\u003c/li\u003e\u003cli\u003einvalid workspace ID\u003c/li\u003e\u003cli\u003eActive user limit is 5. Upgrade to add more active users\u003c/li\u003e\u003cli\u003eInvitation limit reached (please try again later; or upgrade)\u003c/li\u003e\u003cli\u003eUser with e-mail '...' is already an inactive member of the organization\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/invitations/{invitation_code}/resend": {
            "put": {
                "description": "Resend invitation email to user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "invitations"
                ],
                "summary": "Resends user their invitation",
                "operationId": "put-invitation",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Organization ID",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Invitation code",
                        "name": "invitation_code",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Organization ID and invitation organization ID mismatch",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Invitation code not found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/invoices/{invoice_uid}.pdf": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns a Invoice document in PDF form.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "InvoicePdf",
                "operationId": "get-organization-invoice",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Numeric ID or string ID of the invoice.",
                        "name": "invoice_uid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice document in PDF form.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Not authorized to access invoice",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid organization id\u003c/li\u003e\u003cli\u003eNo invoice found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/owner": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns organization owner data.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "Get owner of the organization",
                "operationId": "get-organization-owner",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/models.OrganizationOwner"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Organization owner not found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/owner/transfer": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations owner"
                ],
                "summary": "Returns list of organization transfers made in the organization",
                "operationId": "get-ownership-transfers",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "If true, returns only current, not finished transfer",
                        "name": "ongoing",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Transfer"
                            }
                        }
                    },
                    "400": {
                        "description": "'ongoing' parameter can be true or false only",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "description": "Return the ownership transfer for a given organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations owner"
                ],
                "summary": "Creates new ownership transfer process",
                "operationId": "post-ownership-transfer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/models.Transfer"
                        }
                    },
                    "400": {
                        "description": "Cannot load organization.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/owner/transfer/{transfer_id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations owner"
                ],
                "summary": "Returns single organization transfer in the organization",
                "operationId": "get-ownership-transfer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the transfer.",
                        "name": "transfer_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/models.Transfer"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Transfer not found in the organization",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/owner/transfer/{transfer_id}/{action}": {
            "post": {
                "description": "Return the ownership transfer for a given organization and emails stakeholders.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations owner"
                ],
                "summary": "Updates transfer process and emails stakeholders",
                "operationId": "post-ownership-transfer-actions",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the transfer.",
                        "name": "transfer_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "accept",
                            "decline",
                            "withdraw"
                        ],
                        "type": "string",
                        "description": "Action to update transfer with.",
                        "name": "action",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/models.Transfer"
                        }
                    },
                    "400": {
                        "description": "Cannot load current user data.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Owner not found.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/payment_records": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns paid invoices",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "OrganizationsPaymentRecords",
                "operationId": "get-organizations-payments-records",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            true,
                            false
                        ],
                        "type": "boolean",
                        "description": "If 'true', returns unified invoices",
                        "name": "is_unified",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Next cursor for unified subsriptions. Cannot be used at the same time `prev`",
                        "name": "next",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Previous cursor for unified subsriptions. Cannot be used at the same time with `next`",
                        "name": "prev",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation when `?is_unified=true`",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.UnifiedSubscriptionInvoiceList"
                            }
                        }
                    },
                    "400": {
                        "description": "Forwards subscription client error message when `?is_unified=true`",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/plans": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns pricing plans for an organization",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "OrganizationsPlans",
                "operationId": "get-organizations-plans",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/billing.PricingStruct"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/plans/{plan_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns pricing plan for an organization identified by plan_id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "OrganizationsPlan",
                "operationId": "get-organizations-plans",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the plan",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/billing.PricingStruct"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/pricing_plans/{pricing_plan_id}/feedback": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Endpoint for client's feedback on change of a pricing plan. It triggers an e-mail message with comment content to support.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Feedback",
                "operationId": "post-organization-plans-pricing-feedback",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the old pricing_plan_id",
                        "name": "pricing_plan_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Comment from the client on the pricing plan change",
                        "name": "comment",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/models.PlanChangeFeedback"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns only status code when saved correctly.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/segmentation": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns organization segmentation information",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "Organization segmentation data",
                "operationId": "get-organization-segmentation",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/models.OrganizationSegmentation"
                        }
                    },
                    "204": {
                        "description": "Organization without segmentation information.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eUser not part of organization\u003c/li\u003e\u003c/ul\u003e"
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Save organization segmentation information",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations"
                ],
                "summary": "Organization segmentation data",
                "operationId": "put-organization-segmentation",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/models.OrganizationSegmentation"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eUser not part of organization\u003c/li\u003e\u003c/ul\u003e"
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns subscription data.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "get-organization-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns subscription data.",
                        "schema": {
                            "$ref": "#/definitions/subscription.OutData"
                        }
                    },
                    "403": {
                        "description": "'Admin permissions required.' if user is not part of the organization.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to update existing unified subscription for an organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "put-organization-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for updating subscription.",
                        "name": "organization_subscription_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/subscription.updateUnifiedSubsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subscription updated"
                    },
                    "400": {
                        "description": "pricing_plan_tag is a required field",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to create a new unified subscription for an organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "post-organization-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for subscription creation.",
                        "name": "organization_subscription_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/subscription.createUnifiedSubsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subscription created"
                    },
                    "400": {
                        "description": "pricing_plan_tag is a required field",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Cancels an existing subscription.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "delete-organization-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "If true, the subscription is canceled immediately otherwise canceled at period end",
                        "name": "immediateCancel",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003esubscription not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/billing_portal": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create a subscription billing portal session in the unified subscription system",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/subscription/billing"
                ],
                "summary": "Create a billing portal session in the unified subscription system",
                "operationId": "create-billing-portal-session",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "The billing portal session data",
                        "name": "params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/billingportal.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Billing portal session created"
                    },
                    "400": {
                        "description": "Invalid billing portal session data",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/calculate": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns calculation of the subscription price for given pricing plan, period count, user count, currency, taxes etc.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/subscription"
                ],
                "summary": "SubscriptionCalculation",
                "operationId": "post-organization-subscription-calculate",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organizaiton.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for calculation.",
                        "name": "calculation_data_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/calculate.calculateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "No data returned.",
                        "schema": {
                            "$ref": "#/definitions/calculate.Response"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eOrganization not found/accessible\u003c/li\u003e\u003cli\u003eInvalid subscription\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/checkout_session": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create a subscription checkout session in the unified subscription system",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/subscription/checkout"
                ],
                "summary": "Create a subscription checkout session in the unified subscription system",
                "operationId": "create-subscription-checkout-session",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "The checkout session data",
                        "name": "params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/subscriptions.CheckoutSessionPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Checkout session created"
                    },
                    "400": {
                        "description": "Invalid checkout session data",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/customer": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Retrieve unified customer belonging to the organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/customer"
                ],
                "summary": "Retrieve unified customer",
                "operationId": "get-unified-customer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/customer.UnifiedCustomerResponse"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to update unified customer data.\nCustomer name, email, country \u0026 postal code are mandatory fields.\nOptional fields will be cleared if they don't have a value.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/customer"
                ],
                "summary": "Update unified customer",
                "operationId": "put-unified-customer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/customer.UnifiedCustomerResponse"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.\" if user is not an admin.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Creates unified customer for organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/customer"
                ],
                "summary": "Create unified customer",
                "operationId": "post-unified-customer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/customer.UnifiedCustomerResponse"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.\" if user is not an admin.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/invoice_summary": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns a summary of the next invoice for an Organization",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Invoice Summary",
                "operationId": "get-organization-invoice-summary",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Quantity of the subscription",
                        "name": "quantity",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Pricing plan tag",
                        "name": "pricing_plan_tag",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/promocode": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Applies the given promotion code to organization's customer\nIf the customer already has the promotion code, then it will be overridden",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/subscription/promocode"
                ],
                "summary": "Applies the given promotion code to organization's customer",
                "operationId": "post-promotion-code",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Promotion code applied"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Removes any discount (promotion code) applied to the organization's customer",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/subscription/promocode"
                ],
                "summary": "Removes any discount (promotion code) applied to the organization's customer",
                "operationId": "delete-promotion-code",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Promotion code removed"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/purchase_orders": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create a Purchase Order document for an organization and send an email to the customer with a reference to the document.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "PurchaseOrders",
                "operationId": "post-organization-purchase-order",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for purchase order creation.",
                        "name": "organization_purchase_order_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/purchaseorders.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Basic data of the created Purchase Order.",
                        "schema": {
                            "$ref": "#/definitions/accounting.PurchaseOrderListItem"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003euser_count must be greater than 0\u003c/li\u003e\u003cli\u003eorganization has no subscription\u003c/li\u003e\u003cli\u003eorganization has no contact data\u003c/li\u003e\u003cli\u003eUnpaid purchase order found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/purchase_orders/{purchase_order_uid}.pdf": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns a Purchase Order document in PDF form.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "organizations subscription"
                ],
                "summary": "PurchaseOrderPdf",
                "operationId": "get-organization-purchase-order-pdf",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Numeric ID or string ID of the purchase order.",
                        "name": "purchase_order_uid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase order document in PDF form.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePurchase order not found\u003c/li\u003e\u003cli\u003eCompany not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/setup_intent": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create a setup intent for collecting customer's payment method for future payments",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations/subscription/setup_intent"
                ],
                "summary": "Create a setup intent for collecting customer's payment method",
                "operationId": "create-setup-intent",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Setup intent created"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/organizations/{organization_id}/subscription/trial": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to create a new unified subscription on initial 30-day trial for an organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "post-organization-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization.",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subscription created"
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/users": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns list of users in organization based on set of url parameters:\nResult is paginated. Pagination params are returned in headers",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations",
                    "users"
                ],
                "summary": "List of users in organization",
                "operationId": "get-organization-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Returns records where name or email contains this string",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "List of `active` `inactive` `invited` comma separated(if not present, all statuses)",
                        "name": "active_status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "If true returns admins only",
                        "name": "only_admins",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Comma-separated list of groups ids, returns users belonging to these groups only",
                        "name": "groups",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Comma-separated list of workspaces ids, returns users belonging to this workspaces only",
                        "name": "workspaces",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page number, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of items per page, default 50",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Values 'asc' or 'desc', result is sorted on 'names' column, default 'asc'",
                        "name": "sort_dir",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.OrgUser"
                            }
                        },
                        "headers": {
                            "X-Page": {
                                "type": "int",
                                "description": "current page"
                            },
                            "X-Page-Size": {
                                "type": "int",
                                "description": "number of records on page (the same as in request or default)"
                            },
                            "X-Pages": {
                                "type": "int",
                                "description": "number of all pages in result"
                            },
                            "X-Records": {
                                "type": "int",
                                "description": "number of all records in result"
                            },
                            "X-Sort-Order": {
                                "type": "string",
                                "description": "asc or desc (the same as in request or default)"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eMissing or invalid organization_id.\u003c/li\u003e\u003cli\u003eactive_status parameter can contain only 'active', 'inactive' or 'invited'.\u003c/li\u003e\u003cli\u003eonly_admins parameter can contain only 'true' or 'false'.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'page'.\u003c/li\u003e\u003cli\u003epage parameter must contain values \u003e 0.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'per_page'.\u003c/li\u003e\u003cli\u003eper_page parameter must contain values \u003e 0.\u003c/li\u003e\u003cli\u003esort_dir parameter can contain only 'asc' or 'desc'.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'groups'.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'workspaces'.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User is not authorized to list the organization users",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Apply changes in bulk to users in an organization (currently deletion only).",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "organizations",
                    "users"
                ],
                "summary": "Apply changes in bulk to users in an organization",
                "operationId": "patch-organization-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data of the users to be patched.",
                        "name": "params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user.PatchParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eMissing or invalid organization_id\u003c/li\u003e\u003cli\u003eAt least one organization user ID must be supplied.\u003c/li\u003e\u003cli\u003eOrganization user IDs must be unique.\u003c/li\u003e\u003cli\u003eThe following organization user IDs do not belong to this organization: '...'.\u003c/li\u003e\u003cli\u003eCannot remove the paying user with organization user ID='...'.\u003c/li\u003e\u003cli\u003eCannot remove the organization owner user with organization user ID='...'.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User is not authorized to delete the organization user",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/users/detailed": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns list of users in organization based on set of url parameters:\nResult is paginated. Pagination params are returned in headers",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations",
                    "users"
                ],
                "summary": "List of users in organization with details",
                "operationId": "get-organization-users-detailed",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Returns records where name or email contains this string",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "List of `active` `inactive` `invited` comma separated(if not present, all statuses)",
                        "name": "active_status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "If true returns admins only",
                        "name": "only_admins",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Comma-separated list of groups ids, returns users belonging to these groups only",
                        "name": "groups",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Comma-separated list of workspaces ids, returns users belonging to this workspaces only",
                        "name": "workspaces",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page number, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of items per page, default 50",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Values 'asc' or 'desc', result is sorted on 'names' column, default 'asc'",
                        "name": "sort_dir",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.OrgUserDetailed"
                            }
                        },
                        "headers": {
                            "X-Page": {
                                "type": "int",
                                "description": "current page"
                            },
                            "X-Page-Size": {
                                "type": "int",
                                "description": "number of records on page (the same as in request or default)"
                            },
                            "X-Pages": {
                                "type": "int",
                                "description": "number of all pages in result"
                            },
                            "X-Records": {
                                "type": "int",
                                "description": "number of all records in result"
                            },
                            "X-Sort-Order": {
                                "type": "string",
                                "description": "asc or desc (the same as in request or default)"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eMissing or invalid organization_id.\u003c/li\u003e\u003cli\u003eactive_status parameter can contain only 'active', 'inactive' or 'invited'.\u003c/li\u003e\u003cli\u003eonly_admins parameter can contain only 'true' or 'false'.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'page'.\u003c/li\u003e\u003cli\u003epage parameter must contain values \u003e 0.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'per_page'.\u003c/li\u003e\u003cli\u003eper_page parameter must contain values \u003e 0.\u003c/li\u003e\u003cli\u003esort_dir parameter can contain only 'asc' or 'desc'.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'groups'.\u003c/li\u003e\u003cli\u003eInvalid value sent for 'workspaces'.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {}
                }
            }
        },
        "/organizations/{organization_id}/users/leave": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Leaves organization, effectively delete user account in org and delete organization if it is last user",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "users",
                    "organizations"
                ],
                "summary": "Leaves organization",
                "operationId": "delete-organization-users-leave",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eThe user does not belong to the organization.\u003c/li\u003e\u003cli\u003eCannot remove the paying user.\u003c/li\u003e\u003cli\u003eCannot remove the organization owner.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/users/{organization_user_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Changes a single organization-user. Can affect the following values:",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "organizations",
                    "users"
                ],
                "summary": "Changes a single organization-user",
                "operationId": "put-organization-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data of the organization user to be changed.",
                        "name": "params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eMissing or invalid organization_id.\u003c/li\u003e\u003cli\u003eUser does not exist in the organization.\u003c/li\u003e\u003cli\u003eAt least one field is required.\u003c/li\u003e\u003cli\u003eField 'name' cannot be empty.\u003c/li\u003e\u003cli\u003eMissing e-mail.\u003c/li\u003e\u003cli\u003eInvalid e-mail: '...'\u003c/li\u003e\u003cli\u003eEmail already exists.\u003c/li\u003e\u003cli\u003eGroup '...' is not in Organization '...'.\u003c/li\u003e\u003cli\u003eWorkspace '...' is not in Organization '...'.\u003c/li\u003e\u003cli\u003eCannot remove admin privileges from owner.\u003c/li\u003e\u003cli\u003eCannot deactivate owner.\u003c/li\u003e\u003cli\u003eCannot remove admin privileges from paying user.\u003c/li\u003e\u003cli\u003eCannot deactivate paying user.\u003c/li\u003e\u003cli\u003eUser has multiple organizations.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User is not authorized to update the organization user",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid organization user ID.\u003c/li\u003e\u003cli\u003eFailed to load user data.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/workspaces": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Create a workspace within an existing organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces",
                    "organizations"
                ],
                "summary": "Create a new workspace.",
                "operationId": "post-organization-workspaces",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Parameters of the new workspace",
                        "name": "post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/workspace.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/workspace.Workspace"
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eJSON is not valid\u003c/li\u003e\u003cli\u003eworkspace name must contain non-space characters\u003c/li\u003e\u003cli\u003eworkspace name must not be nil\u003c/li\u003e\u003cli\u003eworkspace name must not be longer than 140\u003c/li\u003e\u003cli\u003eanother workspace with same name exists in organization\u003c/li\u003e\u003cli\u003euser can have a maximum of 100 workspaces\u003c/li\u003e\u003cli\u003eMultiple workspaces are not enabled in this organization.\u003c/li\u003e\u003cli\u003eOrganization {name} can have a maximum of {amount} workspaces\u003c/li\u003e\u003cli\u003eUser with id {id} does not exist.\u003c/li\u003e\u003cli\u003eUser {userID} not exists in the workspace.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eMust be a premium user to use default_hourly_rate\u003c/li\u003e\u003cli\u003erestricting tag management to administrators requires a premium subscription\u003c/li\u003e\u003cli\u003eMust be a premium user to use default_currency\u003c/li\u003e\u003cli\u003eMust be a premium user to use rounding_minutes\u003c/li\u003e\u003cli\u003eMust be a premium user to use only_admins_see_billable_rates\u003c/li\u003e\u003cli\u003eMust be a premium user to use projects_billable_by_default\u003c/li\u003e\u003cli\u003eMust be a premium user to use rounding\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eOrganization not found/accessible\u003c/li\u003e\u003cli\u003eWorkspace not found/accessible\u003c/li\u003e\u003cli\u003eorganization owner not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/workspaces/statistics": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns map indexed by workspace ID where each map element contains workspace admins list,\nmembers count and groups count.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "organizations",
                    "workspaces"
                ],
                "summary": "Statistics for all workspaces in the organization",
                "operationId": "get-organization-workspaces-statistics",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "$ref": "#/definitions/models.Statistics"
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/workspaces/{workspace_id}/assignments": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Assign or remove users to/from a workspace or to/from groups belonging to said workspace.",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "organizations",
                    "workspaces",
                    "users",
                    "groups"
                ],
                "summary": "Change assignments of users within a workspace.",
                "operationId": "put-organization-workspaces-assignments",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace within the organization",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Describes the change in assignment",
                        "name": "post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user.AssignmentsPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eInvalid organization ID.\u003c/li\u003e\u003cli\u003eNothing to change.\u003c/li\u003e\u003cli\u003eField operation can contain only 'add' or 'remove'.\u003c/li\u003e\u003cli\u003eCannot send user_id and group_id in the same element.\u003c/li\u003e\u003cli\u003eOne of user_id or group_id is required.\u003c/li\u003e\u003cli\u003eInvalid user_id.\u003c/li\u003e\u003cli\u003eCannot remove workspace owner.\u003c/li\u003e\u003cli\u003eCannot remove paying user.\u003c/li\u003e\u003cli\u003eInvalid group_id.\u003c/li\u003e\u003cli\u003eInvalid workspace ID.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/workspaces/{workspace_id}/groups": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns list of groups in a workspace based on set of url parameters.\nList is sorted by name.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups",
                    "workspaces",
                    "organizations"
                ],
                "summary": "List of groups in a workspace within an organization with user assignments.",
                "operationId": "get-organization-workspaces-groups",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace within the organization",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/group.OrganizationGroupResponse"
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/organizations/{organization_id}/workspaces/{workspace_id}/workspace_users": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Returns any users who belong to the workspace directly or through at least one group.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces",
                    "users"
                ],
                "summary": "List of users who belong to the given workspace.",
                "operationId": "get-organization-workspaces-workspaceusers",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace within the organization",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.OrganizationWorkspaceUser"
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Resource can not be found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    },
                    {
                        "OAuth2": []
                    }
                ],
                "description": "Changes the users in a workspace (currently deletion only).",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "workspaces",
                    "users"
                ],
                "summary": "Changes the users in a workspace.",
                "operationId": "patch-organization-workspace-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the organization",
                        "name": "organization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data of the users to be patched.",
                        "name": "params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/workspace_users.PatchParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eJSON is not valid\u003c/li\u003e\u003cli\u003eAt least one workspace user ID must be supplied.\u003c/li\u003e\u003cli\u003eWorkspace user IDs must be unique\"\u003c/li\u003e\u003cli\u003eWrong workspace user IDs\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "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"
                        }
                    },
                    {
                        "enum": [
                            -1,
                            0,
                            1
                        ],
                        "default": 0,
                        "description": "How the rounding is done: 1 is rouding up, -1 down, 0 for no rounding.",
                        "name": "rounding",
                        "in": "body",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "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"
                        }
                    },
                    {
                        "enum": [
                            "projects",
                            "users",
                            "clients"
                        ],
                        "default": "projects",
                        "description": "Criteria to group by. This parameter only works for Summary report.",
                        "name": "grouping",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "enum": [
                            "time_entries",
                            "users",
                            "clients",
                            "projects",
                            "tasks"
                        ],
                        "default": "time_entries",
                        "description": "Criteria to subgroup. This parameter only works for Summary report.",
                        "name": "sub_grouping",
                        "in": "body",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns report information",
                        "schema": {
                            "$ref": "#/definitions/saved.ExecuteReportOutput"
                        }
                    },
                    "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}/pdf": {
            "post": {
                "security": [
                    {
                        "BasicAuth || APIKeyAuth": []
                    }
                ],
                "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}/{extension}": {
            "post": {
                "security": [
                    {
                        "BasicAuth || APIKeyAuth": []
                    }
                ],
                "description": "\u003cp\u003eDownloads a previously saved report in the specified format: csv or 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/csv",
                    "text/xlsx"
                ],
                "tags": [
                    "saved_reports",
                    "exports"
                ],
                "summary": "Export saved report",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Token for the saved report",
                        "name": "report_token",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "csv,xlsx",
                        "name": "extension",
                        "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 or 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/clients.clientsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered clients",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/clients.clientsResponse"
                            }
                        }
                    },
                    "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_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/groups.projectGroupsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns project groups",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/groups.ProjectGroup"
                            }
                        }
                    },
                    "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/users.projectUsersPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns user projects",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/users.ProjectUser"
                            }
                        }
                    },
                    "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/projects.projectsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered projects",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/projects.projectResponse"
                            }
                        }
                    },
                    "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_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/status.statusPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns projects statuses",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/status.ProjectStatus"
                            }
                        }
                    },
                    "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 conditions",
                        "name": "users_post",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/users.usersPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns filtered users",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/users.userResponse"
                            }
                        }
                    },
                    "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/requests.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 filter conditions",
                        "name": "range_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/base.RangePost"
                        }
                    }
                ],
                "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"
                        }
                    },
                    "403": {
                        "description": "Workspace not found/accessible",
                        "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/clients.clientsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns searched clients",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "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_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/projects.projectsPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns projects",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "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 list conditions",
                        "name": "users_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/users.usersPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns users",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/users.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": [
                    {
                        "BasicAuth || APIKeyAuth": []
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/signup": {
            "post": {
                "description": "Sign up as a new user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "Signup",
                "operationId": "post-signup",
                "parameters": [
                    {
                        "description": "authorization data",
                        "name": "postUser",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/me.PostUser"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.TogglUser"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eAccount has pending invite\u003c/li\u003e\u003cli\u003eemail is required\u003c/li\u003e\u003cli\u003einitial workspace pricing plan must be specified\u003c/li\u003e\u003cli\u003eInvalid country ID\u003c/li\u003e\u003cli\u003eInvalid e-mail\u003c/li\u003e\u003cli\u003einvalid e-mail: domain not permitted\u003c/li\u003e\u003cli\u003eInvalid invitation code\u003c/li\u003e\u003cli\u003eInvalid pricing plan specified\u003c/li\u003e\u003cli\u003einvalid timezone value\u003c/li\u003e\u003cli\u003eMust accept terms of service\u003c/li\u003e\u003cli\u003epassword is missing\u003c/li\u003e\u003cli\u003epassword should be at least 6 characters\u003c/li\u003e\u003cli\u003eprovider is missing\u003c/li\u003e\u003cli\u003eSorry, but this invitation seems either accepted or canceled\u003c/li\u003e\u003cli\u003euser with this email already exists\u003c/li\u003e\u003cli\u003eworkspace name must contain non-space characters\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "408": {
                        "description": "connection reset by peer",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/smail/contact": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Send an email to a contact",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "smail"
                ],
                "summary": "Send an email to a contact",
                "operationId": "post-smail-contact",
                "parameters": [
                    {
                        "description": "Email informations",
                        "name": "email_info",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/smail.ContactPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eEmail is required\u003c/li\u003e\u003cli\u003eName is required\u003c/li\u003e\u003cli\u003eMessage is required\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/smail/demo": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Send an email for a demo",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "smail"
                ],
                "summary": "Send an email for a demo",
                "operationId": "post-smail-demo",
                "parameters": [
                    {
                        "description": "Email informations",
                        "name": "email_info",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/smail.DemoPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eEmail is required\u003c/li\u003e\u003cli\u003eEmail is too long\u003c/li\u003e\u003cli\u003ePhone is required\u003c/li\u003e\u003cli\u003ePhone is too long\u003c/li\u003e\u003cli\u003eTeamSize is required\u003c/li\u003e\u003cli\u003eTeamSize is too long\u003c/li\u003e\u003cli\u003ePurpose is required\u003c/li\u003e\u003cli\u003ePurpose is too long\u003c/li\u003e\u003cli\u003eSource is required\u003c/li\u003e\u003c/ul\u003e\u003cli\u003eSource is too long\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/smail/meet": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Send an email for meet with message and location",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "smail"
                ],
                "summary": "Send an email for meet",
                "operationId": "post-smail-meet",
                "parameters": [
                    {
                        "description": "Email and Location",
                        "name": "email_location",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/smail.MeetPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eEmail is required\u003c/li\u003e\u003cli\u003eLocation is required\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/status": {
            "get": {
                "description": "Returns API status.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "status"
                ],
                "summary": "Status",
                "operationId": "get-status",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/timeline": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get timeline events",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "timeline"
                ],
                "summary": "Get timeline events",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Unix timestamp of the start date",
                        "name": "start_date",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Unix timestamp of the end date",
                        "name": "end_date",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.TimelineEvent"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eTimeline is not enabled\u003c/li\u003e\u003cli\u003eInvalid 'start_date' value\u003c/li\u003e\u003cli\u003eInvalid 'end_date' value\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "503": {
                        "description": "Timeline upload is temporarily unavailable",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "description": "Save timeline events and returns timeline settings",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "timeline"
                ],
                "summary": "Save timeline events",
                "parameters": [
                    {
                        "description": "timeline events",
                        "name": "timeline_post",
                        "in": "body",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.TimelineEvent"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/models.TimelineSettings"
                        }
                    },
                    "400": {
                        "description": "Invalid JSON input",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "503": {
                        "description": "Timeline upload is temporarily unavailable",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Delete all timeline data for the current user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "timeline"
                ],
                "summary": "Delete all timeline data",
                "responses": {
                    "204": {
                        "description": "Timeline data deleted"
                    },
                    "400": {
                        "description": "Timeline is not enabled",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/timezones": {
            "get": {
                "description": "Returns known timezones.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "timezones"
                ],
                "summary": "Timezones",
                "operationId": "get-timezones",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/timezones/offsets": {
            "get": {
                "description": "Returns known timezones with their offsets.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "timezones"
                ],
                "summary": "Offsets",
                "operationId": "get-offsets",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Timezone"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Change a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "Workspaces",
                "operationId": "post-workspaces",
                "parameters": [
                    {
                        "description": "Change parameters",
                        "name": "post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/workspace.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/workspace.Workspace"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/plans": {
            "get": {
                "description": "Lists Public subscription plans.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Public Subscription Plans",
                "operationId": "get-public-subscription-plans",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/billing.FancyPlan"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get information of single workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "Get single workspace",
                "operationId": "get-workspace",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/workspace.Workspace"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update a specific workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "Update workspace",
                "operationId": "put-workspaces",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric Workspace ID",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Workspace parameters",
                        "name": "post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/workspace.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/workspace.Workspace"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/alerts": {
            "get": {
                "description": "Returns a list of existing alerts",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Alerts",
                "operationId": "get-alerts",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Alert"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Handles POST alert requests.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts",
                    "workspaces"
                ],
                "summary": "Alerts",
                "operationId": "post-alerts",
                "parameters": [
                    {
                        "description": "Alert data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "allOf": [
                                {
                                    "type": "object"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "project_id": {
                                            "type": "integer"
                                        },
                                        "receiver_roles": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "receiver_users": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "source_kind": {
                                            "type": "string"
                                        },
                                        "threshold_type": {
                                            "type": "string"
                                        },
                                        "thresholds": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Alert"
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003einvalid workspace ID\u003c/li\u003e\u003cli\u003esource kind can't be blank\u003c/li\u003e\u003cli\u003eproject can't be blank\u003c/li\u003e\u003cli\u003eproject not supported for this source kind\u003c/li\u003e\u003cli\u003ethreshold type can't be blank\u003c/li\u003e\u003cli\u003ethresholds can't be blank\u003c/li\u003e\u003cli\u003ereceivers can't be blank\u003c/li\u003e\u003cli\u003ealert type out of range\u003c/li\u003e\u003cli\u003ereceiver type out of range\u003c/li\u003e\u003cli\u003ethreshold out of range\u003c/li\u003e\u003cli\u003esource kind out of range\u003c/li\u003e\u003cli\u003ethreshold type out of range\u003c/li\u003e\u003cli\u003ereceiver role out of range\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/alerts/{alert_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Handles PUT alert requests.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Alerts",
                "operationId": "put-alerts",
                "parameters": [
                    {
                        "description": "Alert data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "allOf": [
                                {
                                    "type": "object"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "project_id": {
                                            "type": "integer"
                                        },
                                        "receiver_roles": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "receiver_users": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "source_kind": {
                                            "type": "string"
                                        },
                                        "threshold_type": {
                                            "type": "string"
                                        },
                                        "thresholds": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Alert"
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003einvalid workspace ID\u003c/li\u003e\u003cli\u003esource kind can't be blank\u003c/li\u003e\u003cli\u003eproject can't be blank\u003c/li\u003e\u003cli\u003eproject not supported for this source kind\u003c/li\u003e\u003cli\u003ethreshold type can't be blank\u003c/li\u003e\u003cli\u003ethresholds can't be blank\u003c/li\u003e\u003cli\u003ereceivers can't be blank\u003c/li\u003e\u003cli\u003ealert type out of range\u003c/li\u003e\u003cli\u003ereceiver type out of range\u003c/li\u003e\u003cli\u003ethreshold out of range\u003c/li\u003e\u003cli\u003esource kind out of range\u003c/li\u003e\u003cli\u003ethreshold type out of range\u003c/li\u003e\u003cli\u003ereceiver role out of range\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Handles DELETE alert requests.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts",
                    "workspaces"
                ],
                "summary": "Alerts",
                "operationId": "delete-alerts",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Alert not found or not accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/clients": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List clients from workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "clients"
                ],
                "summary": "List clients",
                "operationId": "get-workspace-clients",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Use 'active' to only list active clients, 'archived' to only list archived clients and 'both' to retrieve active and archived clients. If not provided, only active clients are returned.",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "If provided, allows to filter by client name in a case insensitive manner, returning all the ones that contain the given string.",
                        "name": "name",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Client"
                            }
                        }
                    },
                    "400": {
                        "description": "Client status is invalid",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create workspace client.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "clients"
                ],
                "summary": "Create client",
                "operationId": "post-workspace-clients",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Client",
                        "name": "posted_client",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/client.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Client"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eClient name maximum length is {max_client_length}\u003c/li\u003e\u003cli\u003eClient name cannot be empty\u003c/li\u003e\u003c/ul\u003e"
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/clients/{client_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Load client from workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "clients"
                ],
                "summary": "Load client from ID",
                "operationId": "get-workspace-client",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the client",
                        "name": "client_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Client"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "No client with ID {client_id} was found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update workspace client.\n\nNote: use /workspaces/{workspace_id}/clients/{client_id}/archive to archive the client and /workspaces/{workspace_id}/clients/{client_id}/restore to restore it.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "clients"
                ],
                "summary": "Change client",
                "operationId": "put-workspace-clients",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the client",
                        "name": "client_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Client",
                        "name": "posted_client",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/client.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Client"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eClient name maximum length is {max_client_length}\u003c/li\u003e\u003cli\u003eClient name cannot be empty\u003c/li\u003e\u003c/ul\u003e"
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Client doesn't exist in the workspace.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete workspace client.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "clients"
                ],
                "summary": "Delete client",
                "operationId": "delete-workspace-clients",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the client",
                        "name": "client_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "number"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "No client with ID {client_id} was found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/clients/{client_id}/archive": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Archives a workspace client and related projects. Only for premium workspaces.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "clients"
                ],
                "summary": "Archives client",
                "operationId": "archive-client",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the client",
                        "name": "client_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Projects that were archived with the client",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "No client with ID {client_id} was found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/clients/{client_id}/restore": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Restores client and all related or specified projects from the given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "clients"
                ],
                "summary": "Restores client and related projects.",
                "operationId": "restore-client",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the client",
                        "name": "client_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Specify which projects should be restored with the client",
                        "name": "restore_params",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/project.RestoreParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the restored client",
                        "schema": {
                            "$ref": "#/definitions/models.Client"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "No client with ID {client_id} was found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/currencies": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get the currencies for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Get workspace currencies",
                "operationId": "get-workspace-currencies",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/customer": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to fetch customer data.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Customer",
                "operationId": "get-workspace-customer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns customer data.",
                        "schema": {
                            "$ref": "#/definitions/models.Customer"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/customer/contact_detail": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to save contact details.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "ContactDetails",
                "operationId": "post-workspace-customer",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for contact details.",
                        "name": "contact_detail_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/subscription.ContactDetailRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns subscription data.",
                        "schema": {
                            "$ref": "#/definitions/models.ContactDetail"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eJSON is not valid\u003c/li\u003e\u003cli\u003epricing_plan_id required\u003c/li\u003e\u003cli\u003ethe company_name field is required\u003c/li\u003e\u003cli\u003ethe company_address field is required\u003c/li\u003e\u003cli\u003eMissing e-mail\u003c/li\u003e\u003cli\u003eInvalid e-mail: \u003cemail\u003e\u003c/email\u003e\u003c/li\u003e\u003cli\u003ecountry_id invalid\u003c/li\u003e\u003cli\u003einvalid country_subdivision_id\u003c/li\u003e\u003cli\u003einvalid country/subdivision combination\u003c/li\u003e\u003cli\u003ethe country_subdivision_id field is required for US customers\u003c/li\u003e\u003cli\u003ethe zip_code field is required for US customers\u003c/li\u003e\u003cli\u003einvalid zip_code\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/dashboard/all_activity": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Dashboard's main purpose is to give an overview of what users in the workspace are doing and have been doing.\nThe activity object holds the data of 20 latest actions in the workspace or latest activity for every workspace user.\nActivity object has the following properties\n* user_id: user ID\n* project_id: project ID (ID is 0 if time entry doesn't have project connected to it)\n* duration: time entry duration in seconds. If the time entry is currently running, the duration attribute contains a negative value, denoting the start of the time entry in seconds since epoch (Jan 1 1970). The correct duration can be calculated as current_time + duration, where current_time is the current time in seconds since epoch.\n* description: (Description property is not present if time entry description is empty)\n* stop: time entry stop time (ISO 8601 date and time. Stop property is not present when time entry is still running)\n* tid: task id, if applicable",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "dashboard"
                ],
                "summary": "Get last activity for every workspace user",
                "operationId": "get-workspace-all-activities",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Filter activities since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dashboard.allActivities"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/dashboard/most_active": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Dashboard's main purpose is to give an overview of what users in the workspace are doing and have been doing.\nThe most active user object holds the data of the top 5 users who have tracked the most time during last 7 days.\nMost active user object has the following properties\n* user_id: user ID\n* duration: Sum of time entry durations that have been created during last 7 days.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "dashboard"
                ],
                "summary": "Get most active users",
                "operationId": "get-workspace-most-active",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Filter activities since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.MostActiveUser"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/dashboard/top_activity": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Dashboard's main purpose is to give an overview of what users in the workspace are doing and have been doing.\nReturn objects are same as with the `/workspaces/{workspace_id}/dashboard/all_activity` request.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "dashboard"
                ],
                "summary": "Get top activities",
                "operationId": "get-workspace-top-activity",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Filter activities since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dashboard.allActivities"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/exports": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List of workspace download requests from a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "exports"
                ],
                "summary": "Get a list with the workspace download requests",
                "operationId": "get-workspace-exports",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.DownloadRequestRecord"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List of workspaces downloaded from a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "exports"
                ],
                "summary": "Post a list with the workspace to be downloaded",
                "operationId": "post-workspace-exports",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Objects to export",
                        "name": "tokens_list",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eCannot start another export until current one is complete\u003c/li\u003e\u003cli\u003eYou must select at least one object to export\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/exports/data/{uuid}.zip": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Send a zip file List of workspace download requests from a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "exports"
                ],
                "summary": "Get the zip file with workspace download requests",
                "operationId": "get-workspace-exports-data-uuid-zip",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eWorkspace export data cannot be found or is expired\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/groups": {
            "get": {
                "description": "Returns a list of groups for the specified workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups"
                ],
                "summary": "Get workspace groups",
                "operationId": "get-workspace-groups",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Group"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "description": "Creates a group in the specified workspace",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups"
                ],
                "summary": "Create group",
                "operationId": "post-workspace-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for group creation.",
                        "name": "post_group_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/group.NamePayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the created group data.",
                        "schema": {
                            "$ref": "#/definitions/models.Group"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eGroup name must be present\u003c/li\u003e\u003cli\u003eGroup name too long, maximum length is 200\u003c/li\u003e\u003cli\u003eName has already been taken\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/groups/{group_id}": {
            "put": {
                "description": "Updates the group.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups"
                ],
                "summary": "Update group",
                "operationId": "put-workspace-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the group.",
                        "name": "group_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for group update.",
                        "name": "put_group_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/group.NamePayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the created updated data.",
                        "schema": {
                            "$ref": "#/definitions/models.Group"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eGroup name must be present\u003c/li\u003e\u003cli\u003eGroup name too long, maximum length is 200\u003c/li\u003e\u003cli\u003eName has already been taken\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Group was not found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Deletes the group.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups"
                ],
                "summary": "Delete group",
                "operationId": "delete-workspace-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the group.",
                        "name": "group_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Group was not found",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/ical/reset": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Reset the iCal token for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ical"
                ],
                "summary": "Reset iCal token",
                "operationId": "post-workspace-ical-reset",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Workspace not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/ical/toggle": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Toggle the iCal token on/off for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ical"
                ],
                "summary": "Toggle the iCal token",
                "operationId": "post-workspace-ical-toggle",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Workspace not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/invoices": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get invoices for given workspace with pagination.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user-invoices"
                ],
                "summary": "Get workspace invoices.",
                "operationId": "get-workspace-invoices",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Sort order, default ASC.",
                        "name": "sort_order",
                        "in": "formData"
                    },
                    {
                        "type": "integer",
                        "description": "Number of items per page, default 50.",
                        "name": "per_page",
                        "in": "formData"
                    },
                    {
                        "type": "integer",
                        "description": "Page number, default 1.",
                        "name": "page",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Sort field, default created_at.",
                        "name": "sort_field",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.UserInvoice"
                            }
                        }
                    },
                    "403": {
                        "description": "Operation Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Creates new user invoice.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user-invoices"
                ],
                "summary": "Create user invoice",
                "operationId": "post-workspace-user-invoice",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Post data",
                        "name": "tag_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.UserInvoice"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.UserInvoice"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/invoices/{invoice_id}.pdf": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns an Invoice document in PDF form.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "InvoicePdf",
                "operationId": "get-workspace-invoices",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the invoice.",
                        "name": "invoice_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice document in PDF form.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eAdmin permissions required\u003c/li\u003e\u003cli\u003eNot authorized to access invoice {invoice_id}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "No invoice found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/invoices/{user_invoice_id}": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Deletes user invoice by ID if exists.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user-invoices"
                ],
                "summary": "Delete user invoice.",
                "operationId": "delete-workspace-invoice",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User invoice ID to be deleted",
                        "name": "user_invoice_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Invoice not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/logo": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get the logo for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces/logo"
                ],
                "summary": "Get workspace logo",
                "operationId": "get-workspace-logo",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Logo"
                        }
                    },
                    "400": {
                        "description": "Workspace not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Post the logo for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces/logo"
                ],
                "summary": "Post workspace logo",
                "operationId": "post-workspace-logo",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Logo"
                        }
                    },
                    "400": {
                        "description": "Workspace not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete the logo for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces/logo"
                ],
                "summary": "Delete workspace logo",
                "operationId": "get-workspace-logo",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Logo"
                        }
                    },
                    "400": {
                        "description": "Workspace not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/payment_receipts/{payment_id}.pdf": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns payment receipt pdf file.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "PaymentReceipts",
                "operationId": "get-workspace-payment-receipts",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the receipt",
                        "name": "payment_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns payment receipt pdf file.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePayment {payment_id} not found for workspace {workspace_id}\u003c/li\u003e\u003cli\u003eCountry not found for payment {payment_id}\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/payment_records": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns payment records.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "PaymentRecords",
                "operationId": "get-workspace-payment-records",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns payment records.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.PaymentRecord"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/plans": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns pricing plans for a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "WorkspacePlans",
                "operationId": "get-workspace-plans",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/plans/{plan_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns plans fitered by plan ID.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "WorkspacePlan",
                "operationId": "get-workspace-plans-pricing",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the plan to get",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/billing.FancyPlan"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid plan\u003c/li\u003e\u003cli\u003eWe're expecting an integer as part of the url for plan_id\u003c/li\u003e\u003cli\u003ePlan {plan_id} is not valid for this workspace\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/preferences": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get the preferences for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "preferences"
                ],
                "summary": "Get workspace preferences",
                "operationId": "get-workspace-preferences",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Logo"
                        }
                    },
                    "400": {
                        "description": "Workspace not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get the preferences for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "preferences"
                ],
                "summary": "Get workspace preferences",
                "operationId": "post-workspace-preferences",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data of the preferences.",
                        "name": "preferences",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.WorkspacePreferences"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Logo"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eThe field is not writable\u003c/li\u003e\u003cli\u003eAdmin permissions required\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/pricing_plans/{pricing_plan_id}/feedback": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Endpoint for client's feedback on change of a pricing plan. It triggers an e-mail message with comment content to support.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Feedback",
                "operationId": "post-workspace-plans-pricing-feedback",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the old pricing_plan_id",
                        "name": "pricing_plan_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Comment from the client on the pricing plan change",
                        "name": "comment",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/models.PlanChangeFeedback"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns only status code when saved correctly.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Pricing plan for pricing_plan_id not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/profile/{profile_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to change profile (subscription). This endpoint will be deprecated.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Profile",
                "operationId": "put-workspace-profile",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the profile (pricing plan).",
                        "name": "profile_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Feedback data.",
                        "name": "feedback_data",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/models.PlanChangeFeedback"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No data upon successful profile change.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eNot acceptable profile\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/project_groups": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get project groups for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups"
                ],
                "summary": "Get workspace project groups.",
                "operationId": "get-project-groups",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Project IDs separated by comma.",
                        "name": "project_ids",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.ProjectGroup"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Adds group to project for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups"
                ],
                "summary": "Adds group to project.",
                "operationId": "post-project-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data",
                        "name": "project_group_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/group.ProjectGroupPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/project_groups/{project_group_id}": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Remove project group for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "groups"
                ],
                "summary": "Remove project group.",
                "operationId": "delete-project-group",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project group",
                        "name": "project_group_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/project_users": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List all projects users for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Get workspace projects users",
                "operationId": "get-workspace-project-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Numeric IDs of projects, comma-separated",
                        "name": "project_ids",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include group members",
                        "name": "with_group_members",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.ProjectUser"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eproject_ids cannot exceed 200 elements.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Include a project user for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Add an user into workspace projects users",
                "operationId": "post-workspace-project-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data of the user.",
                        "name": "project_user",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user.PostPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.ProjectUser"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid project_id\u003c/li\u003e\u003cli\u003eInvalid user_id\u003c/li\u003e\u003c\u003cli\u003eProject user already exists\u003cli\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/project_users/{project_user_ids}": {
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Patch a list of project users for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Patch project users from workspace",
                "operationId": "patch-workspace-project-users-ids",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "collectionFormat": "csv",
                        "description": "Numeric IDs of the project users",
                        "name": "project_user_ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/user.Output"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eInvalid value as user IDs\u003c/li\u003e\u003cli\u003eNo patchable fields defined\u003c/li\u003e\u003cli\u003ePATCH expects at least one ID\u003c/li\u003e\u003cli\u003ePATCH request is limited to %d entries at once\u003c/li\u003e\u003cli\u003eInvalid op: \u003c/li\u003e\u003cli\u003eInvalid path format: \u003c/li\u003e\u003cli\u003ePath not found: \u003c/li\u003e\u003cli\u003eOperation not supported ({patch_operation} {patch_path})\u003c/li\u003e\u003cli\u003eInvalid path\u003c/li\u003e\u003cli\u003e/manager expects a boolean\u003c/li\u003e\u003cli\u003e/labour_cost expects an int64 or null\u003c/li\u003e\u003cli\u003e/rate expects an float64 or null\u003c/li\u003e\u003cli\u003eOperation not supported (add /labour_cost)\u003c/li\u003e\u003cli\u003eOperation not supported (add /rate)\u003c/li\u003e\u003cli\u003eOperation not supported (add /manager)\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/project_users/{project_user_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update the data for a project user for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Update an user into workspace projects users",
                "operationId": "put-workspace-project-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project user",
                        "name": "project_user_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data of the user.",
                        "name": "project_user",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user.PutPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.ProjectUser"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eMissing data\u003c/li\u003e\u003cli\u003eInvalid project_id\u003c/li\u003e\u003cli\u003eInvalid user_id\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete a project user for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Delete a project user from workspace projects users",
                "operationId": "delete-workspace-project-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project user",
                        "name": "project_user_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eProject user not found/accessible\u003c/li\u003e\u003cli\u003eInvalid project_id\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get projects for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProjects",
                "operationId": "get-projects",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "active",
                        "name": "active",
                        "in": "formData"
                    },
                    {
                        "type": "integer",
                        "description": "Retrieve projects created/modified/deleted since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "formData"
                    },
                    {
                        "type": "boolean",
                        "description": "billable",
                        "name": "billable",
                        "in": "formData"
                    },
                    {
                        "type": "array",
                        "description": "user_ids",
                        "name": "user_ids",
                        "in": "formData"
                    },
                    {
                        "type": "array",
                        "description": "client_ids",
                        "name": "client_ids",
                        "in": "formData"
                    },
                    {
                        "type": "array",
                        "description": "group_ids",
                        "name": "group_ids",
                        "in": "formData"
                    },
                    {
                        "type": "array",
                        "description": "statuses",
                        "name": "statuses",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "name",
                        "name": "name",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page",
                        "name": "page",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "sort_field",
                        "name": "sort_field",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "sort_order",
                        "name": "sort_order",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "only_templates",
                        "name": "only_templates",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Number of items per page, default 151. Cannot exceed 200.",
                        "name": "per_page",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Project"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create project for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProjects",
                "operationId": "post-workspace-project-create",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Post parameters",
                        "name": "post_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/project.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Project"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/billable-amounts": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get projects billable amounts",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Projects",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Project IDs",
                        "name": "post_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/projects.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Project"
                            }
                        }
                    },
                    "400": {
                        "description": "invalid body",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Operation Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/templates": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get projects templates for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProjectsTemplates",
                "operationId": "get-projects-templates",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/{project_ids}": {
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Bulk editing workspace projects.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProjects",
                "operationId": "patch-workspace-projects",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Numeric IDs of project ids, separated by comma. E.g.: `204301830,202700150,202687559`",
                        "name": "project_ids",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Array of batch operations",
                        "name": "patch_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/projects.patchPost"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/projects.PatchOutput"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/{project_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get project for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProject",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Project"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update project for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProject",
                "operationId": "put-workspace-project",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Post parameters",
                        "name": "post_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/project.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Project"
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eClient with the ID {client ID} isn't present in workspace {workspace ID}\u003c/li\u003e\u003cli\u003eError in validating color '{color}'. Project color must be a hex value in the form of #[0-9a-f]{6}.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eOnly admins may create projects in this workspace\u003c/li\u003e\u003cli\u003eUser does not have access to this resource.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete project for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProject",
                "operationId": "delete-workspace-project",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Time entries deletion mode: 'delete' or 'unassign'",
                        "name": "teDeletionMode",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/{project_id}/periods": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get recurring project periods for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Get Recurring Project Periods",
                "operationId": "get-workspace-project-periods",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Smallest boundary date to search for recurring periods",
                        "name": "start_date",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Biggest boundary date to search for for recurring periods",
                        "name": "end_date",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.RecurringPeriod"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/{project_id}/statistics": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get statistics for given workspace and project. For time entry related information, this endpoint does not consider running ones.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "WorkspaceProject",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.ProjectStatistics"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/{project_id}/tasks": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get project tasks for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "WorkspaceProjectTasks",
                "operationId": "get-workspace-project-tasks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Task"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Post project tasks for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "WorkspaceProjectTasks",
                "operationId": "post-workspace-project-tasks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Post parameters",
                        "name": "post_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/task.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Task"
                        }
                    },
                    "400": {
                        "description": "Project not found/accessible, Can not change tasks of archived project",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/{project_id}/tasks/{task_ids}": {
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Patch project tasks for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "WorkspaceProjectTasks",
                "operationId": "patch-workspace-project-tasks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Numeric IDs of project tasks separated by comma",
                        "name": "task_ids",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Patch operations",
                        "name": "patch_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/task.PatchInput"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/task.PatchOutput"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get project task for given task id.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "WorkspaceProjectTask",
                "operationId": "get-workspace-project-task",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the task",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Task"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Put project task for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "WorkspaceProjectTask",
                "operationId": "put-workspace-project-task",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Numeric ID of project task",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Put parameters",
                        "name": "patch_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/task.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Task"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete projects task for given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "WorkspaceProjectTask",
                "operationId": "delete-workspace-project-task",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the project",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the task",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/rates": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Creates a new rate.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rates"
                ],
                "summary": "Rates creation",
                "operationId": "create-rate",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Rate attributes",
                        "name": "rate_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreationRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/dto.GetResponse"
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eRequest payload must be informed\u003c/li\u003e\u003cli\u003eInvalid workspace ID\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Billable rates are available for Starter and higher plans.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User cannot access billable rate(s).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/rates/{level}/{level_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get rates by level(workspace|project|user).",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rates"
                ],
                "summary": "Rates list",
                "operationId": "get-rates-by-level",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Rates level: workspace, project or user",
                        "name": "level",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the entity level",
                        "name": "level_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.GetResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid workspace ID\u003c/li\u003e\u003cli\u003eInvalid entity ID\u003c/li\u003e\u003cli\u003eInvalid level: it should be workspace, workspace_user, project or project_user\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Billable rates are available for Starter and higher plans.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User cannot access billable rate(s).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/rates/{rate_id}": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Removes a rate.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rates"
                ],
                "summary": "Rates delete",
                "operationId": "delete-rate",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the rate",
                        "name": "rate_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Rate deleted"
                    },
                    "400": {
                        "description": "Possible error messages:\u003cul\u003e\u003cli\u003eInvalid workspace ID\u003c/li\u003e\u003cli\u003eInvalid rate ID\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Billable rates are available for Starter and higher plans.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User cannot access billable rate(s).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "405": {
                        "description": "Resource not found.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/reports/shared": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get shared report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "workspace.SharedReport",
                "operationId": "get-shared-report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "fixed_dates",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "public",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "scheduled",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort_direction",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort_field",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.SavedReport"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameter {parameter_name}.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Available only for premium workspaces.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Workspace not found/accessible.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Change shared report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "workspace.SharedReport",
                "operationId": "put-shared-report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the report.",
                        "name": "report_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Saved Report Payload",
                        "name": "saved_report_payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/saved.Payload"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns shared report.",
                        "schema": {
                            "$ref": "#/definitions/models.SavedReport"
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eJSON is not valid\u003c/li\u003e\u003cli\u003eReport ID {report_id} failed with: saved report name field can't be blank\u003c/li\u003e\u003cli\u003eReport ID {report_id} failed with: parameter report_type invalid or blank\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Available only for premium workspaces.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Public reports can be saved only by admins.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible.\u003c/li\u003e\u003cli\u003eSome IDs were not found: Only {found_count} Saved Reports found for {requested_count} given IDs.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Add shared report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "workspace.SharedReport",
                "operationId": "post-shared-report",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Saved Report Payload",
                        "name": "saved_report_payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/saved.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns shared report.",
                        "schema": {
                            "$ref": "#/definitions/models.SavedReport"
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eJSON is not valid\u003c/li\u003e\u003cli\u003esaved report name field can't be blank\u003c/li\u003e\u003cli\u003esaved report fixed_daterange can't be blank\u003c/li\u003e\u003cli\u003esaved report public can't be blank\u003c/li\u003e\u003cli\u003eparameter report_type is invalid or blank\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Available only for premium workspaces.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Public reports can be saved only by admins.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Workspace not found/accessible.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/reports/shared/bulk_delete": {
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Bulk delete saved report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces/reports/shared"
                ],
                "summary": "SavedReport",
                "operationId": "bulk-delete-saved-report-resource",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data",
                        "name": "input_data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/shared.bulkDeleteInputData"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.SavedReport"
                            }
                        }
                    },
                    "400": {
                        "description": "JSON is not valid.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Available only for premium workspaces.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible.\u003c/li\u003e\u003cli\u003eSome IDs were not found: Only {found_count} Saved Reports found for {requested_count} given IDs.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/reports/shared/{report_id}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get saved report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "models.SavedReport",
                "operationId": "get-saved-report-resource",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the report.",
                        "name": "report_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/models.SavedReport"
                        }
                    },
                    "402": {
                        "description": "Available only for premium workspaces.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible.\u003c/li\u003e\u003cli\u003eReport ID {report_id} not found/accessible.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Change saved report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "models.SavedReport",
                "operationId": "put-saved-report-resource",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the report.",
                        "name": "report_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Saved Report Payload",
                        "name": "saved_report_payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/saved.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns saved report.",
                        "schema": {
                            "$ref": "#/definitions/models.SavedReport"
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eJSON is not valid\u003c/li\u003e\u003cli\u003esaved report name field can't be blank\u003c/li\u003e\u003cli\u003eparameter report_type invalid or blank\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Available only for premium workspaces.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Public reports can be saved only by admins.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Workspace not found/accessible.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete saved report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "models.SavedReport",
                "operationId": "delete-saved-report-resource",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the report.",
                        "name": "report_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.SavedReport"
                        }
                    },
                    "402": {
                        "description": "Available only for premium workspaces.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eWorkspace not found/accessible.\u003c/li\u003e\u003cli\u003eReport ID {report_id} not found/accessible.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/scheduled_reports": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Lists scheduled reports.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "ScheduledReports",
                "operationId": "get-workspace-scheduled-reports",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lists scheduled reports.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.ScheduledReport"
                            }
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have the {feature_name} feature enabled.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Endpoint for setting up a scheduled report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "ScheduledReports",
                "operationId": "post-workspace-scheduled-reports",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Comment from the client on the pricing plan change",
                        "name": "workspace_id",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/scheduled.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns created schedule report.",
                        "schema": {
                            "$ref": "#/definitions/models.ScheduledReport"
                        }
                    },
                    "400": {
                        "description": "Possible error messages: \u003cul\u003e\u003cli\u003eBookmark not found.\u003c/li\u003e\u003cli\u003eUnable to use all requested recipients.\u003c/li\u003e\u003cli\u003eNo usable recipients found.\u003c/li\u003e\u003cli\u003eInvalid scheduled report frequency. Must be one of: 1 (daily), 7 (weekly) or 30 (monthly).\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have the {feature_name} feature enabled.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Workspace not found/accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/scheduled_reports/{report_id}": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Endpoint for delete a scheduled report.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "ScheduledReport",
                "operationId": "delete-workspace-scheduled-reports",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the report",
                        "name": "report_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns only status code.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Workspace needs to have the {feature_name} feature enabled.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Possible error messages: \u003cul\u003e\u003cli\u003eUser does not have access to this resource.\u003c/li\u003e\u003cli\u003eCan't remove the schedule.\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Possible error messages: \u003cul\u003e\u003cli\u003eScheduled report not found.\u003c/li\u003e\u003cli\u003eWorkspace not found/accessible\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/sso": {
            "get": {
                "description": "Returns the SSO configuration for a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "Workspace SSO configuration",
                "operationId": "get-workspace-sso",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/sso.ConfigResult"
                        }
                    },
                    "403": {
                        "description": "\u003cp\u003ePossible message error:\u003c/p\u003e\u003cp\u003eCould be one of these: Workspace not found/accessible, Need to be the owner of the organization, Only valid for premium workspace and \"Single Sign On must be enabled\u003c/p\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "We're sorry, but something went terribly wrong. We have been notified about the error. Please try again later.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "description": "Save the SSO configuration for a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "Workspace SSO configuration",
                "operationId": "post-workspace-sso",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "SAML2 config parameters",
                        "name": "settings",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.SSOConfig"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.SSOConfig"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible message error:\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003eConfig name cannot be empty\u003c/li\u003e \u003cli\u003eConfig domain cannot be empty\u003c/li\u003e \u003cli\u003eConfig name value too long (max. 32),\u003c/li\u003e \u003cli\u003eConfig domain value too long (max. 254),\u003c/li\u003e \u003cli\u003eConfig entity id value too long (max. 1024),\u003c/li\u003e \u003cli\u003eConfiguration should be done using metadata_url or separated parameters, not both\u003c/li\u003e \u003cli\u003eInvalid configuration - missing required fields\u003c/li\u003e \u003cli\u003eInvalid certificate\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "\u003cp\u003ePossible message error:\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003eCould be one of these: Workspace not found/accessible\u003c/li\u003e\u003cli\u003eNeed to be the owner of the organization\u003c/li\u003e\u003cli\u003eOnly valid for premium workspace and \u003ci\u003eSingle Sign On\u003c/i\u003e must be enabled\u003c/li\u003e\u003cli\u003eEntity id must not be empty\u003c/li\u003e \u003cli\u003eIdp descriptors must not be empty\u003c/li\u003e \u003cli\u003eCertificates must not be empty\u003c/li\u003e \u003cli\u003eMetadata certificate[0] must not be empty\u003c/li\u003e \u003cli\u003eSSO services must not be empty\u003c/li\u003e \u003cli\u003eInvalid certificate\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "We're sorry, but something went terribly wrong. We have been notified about the error. Please try again later.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Remove the SSO configuration for a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "Erase a workspace SSO configuration",
                "operationId": "delete-workspace-sso",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "\u003cp\u003ePossible message error:\u003c/p\u003e\u003cp\u003eCould be one of these: Workspace not found/accessible, Need to be the owner of the organization, Only valid for premium workspace and \"Single Sign On must be enabled\u003c/p\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "We're sorry, but something went terribly wrong. We have been notified about the error. Please try again later.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "patch": {
                "description": "Enable/Disable the SSO configuration for a workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "authentication"
                ],
                "summary": "Enable/disable the Workspace SSO configuration",
                "operationId": "patch-workspace-sso",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "SAML2 enable flag",
                        "name": "settings",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/sso.State"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/sso.State"
                        }
                    },
                    "403": {
                        "description": "\u003cp\u003ePossible message error:\u003c/p\u003e\u003cp\u003eCould be one of these: Workspace not found/accessible, Need to be the owner of the organization, Only valid for premium workspace and \"Single Sign On\" must be enabled\u003c/p\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "We're sorry, but something went terribly wrong. We have been notified about the error. Please try again later.",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/statistics": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns workspace admins list, members count and groups count",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "Workspace statistics",
                "operationId": "get-workspace-statistics",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.Statistics"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns subscription data.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "get-workspace-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns subscription data.",
                        "schema": {
                            "$ref": "#/definitions/subscription.OutData"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Allows to create a new subscription, cancel existing one or change the pricing plan.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "post-workspace-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for purchase order creation.",
                        "name": "workspace_subscription_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/subscription.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns subscription data.",
                        "schema": {
                            "$ref": "#/definitions/models.Subscription"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003epricing_plan_id required\u003c/li\u003e\u003cli\u003ethe company_name field is required\u003c/li\u003e\u003cli\u003ethe company_address field is required\u003c/li\u003e\u003cli\u003eMissing e-mail\u003c/li\u003e\u003cli\u003eInvalid e-mail: \u003cemail\u003e\u003c/email\u003e\u003c/li\u003e\u003cli\u003ecountry_id invalid\u003c/li\u003e\u003cli\u003einvalid country_subdivision_id\u003c/li\u003e\u003cli\u003einvalid country/subdivision combination\u003c/li\u003e\u003cli\u003ethe country_subdivision_id field is required for US customers\u003c/li\u003e\u003cli\u003ethe zip_code field is required for US customers\u003c/li\u003e\u003cli\u003einvalid zip_code\u003c/li\u003e\u003cli\u003ePricing Plan Id must be valid\u003c/li\u003e\u003cli\u003eNo subscription to cancel\u003c/li\u003e\u003cli\u003eWorkspace with subscription already present in organization\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePricing Plan Id must be valid\u003c/li\u003e\u003cli\u003eWorkspace not found/accessible\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription/calculate": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns calculation of the subscription price for given pricing plan, period count, user count, currency, taxes etc.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "SubscriptionCalculation",
                "operationId": "post-workspace-subscription-calculate",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for calculation.",
                        "name": "calculation_data_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/subscription.calculateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/subscription.CalculatedData"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eworkspace has no subscription\u003c/li\u003e\u003cli\u003eInvalid subscription\u003c/li\u003e\u003cli\u003euser_count must be greater than 0\u003c/li\u003e\u003cli\u003eperiod can be 1 or 12\u003c/li\u003e\u003cli\u003epricing_plan_id is not valid\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eworkspace_id is not valid\u003c/li\u003e\u003cli\u003eworkspace has no customer\u003c/li\u003e\u003cli\u003eunknown currency\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription/features": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns list of the features available for a workspace",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Features",
                "operationId": "get-workspace-features",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of the active features",
                        "schema": {
                            "$ref": "#/definitions/subscription.FeatureReturn"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription/inc_accept": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Records user acceptance of Terms of Service.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "IncAccept",
                "operationId": "post-workspace-subscription-inc-accept",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No data returned upon successful Ind ToS acceptance",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eAdmin permissions required.\u003c/li\u003e\u003cli\u003eNo active relationship with Toggl Inc\u003c/li\u003e\u003cli\u003eCompany not managed by Toggl Inc\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription/purchase_orders": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create a Purchase Order document for a workspace and send an email to the customer with a reference to the document.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "PurchaseOrders",
                "operationId": "post-workspace-purchase-order",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data for purchase order creation.",
                        "name": "workspace_purchase_order_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/purchaseorders.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Basic data of the created Purchase Order.",
                        "schema": {
                            "$ref": "#/definitions/accounting.PurchaseOrderListItem"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003euser_count must be greater than 0\u003c/li\u003e\u003cli\u003eworkspace has no subscription\u003c/li\u003e\u003cli\u003eworkspace has no contact data\u003c/li\u003e\u003cli\u003eUnpaid purchase order found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription/purchase_orders/{purchase_order_id}.pdf": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns a Purchase Order document in PDF form.",
                "produces": [
                    "application/pdf"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "PurchaseOrderPdf",
                "operationId": "get-workspace-purchase-order-pdf",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the purchase order.",
                        "name": "purchase_order_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase order document in PDF form.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePurchase order not found\u003c/li\u003e\u003cli\u003eCompany not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription/selected_features": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns list of the features assigned to the workspace",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "SelectedFeatures",
                "operationId": "get-workspace-features-selected",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of the features",
                        "schema": {
                            "$ref": "#/definitions/subscription.FeatureReturn"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/subscription/{subscription_id}": {
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Cancels the subscription and saves feedback if present.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "subscription"
                ],
                "summary": "Subscription",
                "operationId": "delete-workspace-subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the subscription.",
                        "name": "subscription_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Feedback data.",
                        "name": "feedback_data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.PlanChangeFeedback"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "No data returned.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003euser_count must be greater than 0\u003c/li\u003e\u003cli\u003epricing_plan_id is not valid\u003c/li\u003e\u003cli\u003eperiod can be 1 or 12\u003c/li\u003e\u003cli\u003eworkspace has no subscription\u003c/li\u003e\u003cli\u003eworkspace has no customer\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Admin permissions required.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/tags": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List Workspace tags.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tags"
                ],
                "summary": "Tags",
                "operationId": "get-workspace-tag",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Tag"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create workspace tags.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tags"
                ],
                "summary": "Create tag",
                "operationId": "post-workspace-tag",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Post data",
                        "name": "tag_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tag.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Tag"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003etag name can't be blank\u003c/li\u003e\u003cli\u003ea tag with the name '{tag_name}' already exists\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Only organization or workspace administrators may manage tags in this workspace.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Patch will not be executed if there are errors with some records.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tags"
                ],
                "summary": "Bulk delete tags",
                "operationId": "patch-workspace-tags",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Some tag IDs do not belong to workspace.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Only organization or workspace administrators may manage tags in this workspace.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/tags/{tag_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update workspace tags.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tags"
                ],
                "summary": "Update tag",
                "operationId": "put-workspace-tag",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the tag",
                        "name": "tag_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Put data",
                        "name": "tag_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tag.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.Tag"
                            }
                        }
                    },
                    "400": {
                        "description": "Possible errors:\u003cul\u003e\u003cli\u003eInvalid JSON input\u003c/li\u003e\u003cli\u003eInvalid tag ID\u003c/li\u003e\u003cli\u003etag name can't be blank\u003c/li\u003e\u003cli\u003ea tag with the name '{tag_name}' already exists\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Only organization or workspace administrators may manage tags in this workspace.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Tag was not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete workspace tags.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tags"
                ],
                "summary": "Delete tag",
                "operationId": "delete-workspace-tag",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the tag",
                        "name": "tag_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Invalid tag ID.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Only organization or workspace administrators may manage tags in this workspace.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Tag was not found.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/tasks": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List Workspace tasks.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "Tasks",
                "operationId": "get-workspace-tasks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Retrieve tasks created/modified/deleted since this date using UNIX timestamp.",
                        "name": "since",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page number, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of items per page, default 50",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Sort order, default ASC",
                        "name": "sort_order",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Field used for sorting",
                        "name": "sort_field",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Filter by active state",
                        "name": "active",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Filter by project id",
                        "name": "pid",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "format": "date",
                        "description": "Smallest boundary date in the format YYYY-MM-DD",
                        "name": "start_date",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "format": "date",
                        "description": "Biggest boundary date in the format YYYY-MM-DD",
                        "name": "end_date",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/task.Response"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/time_entries": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Creates a new workspace TimeEntry.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "TimeEntries",
                "operationId": "post-workspace-time-entries",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "TimeEntry parameters.",
                        "name": "workspace_time_entry_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/timeentry.Payload"
                        }
                    },
                    {
                        "type": "boolean",
                        "description": "Should the response contain data for meta entities",
                        "name": "meta",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A workspace TimeEntry.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntry"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/time_entries/{time_entry_ids}": {
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "In short: http://tools.ietf.org/html/rfc6902 and http://tools.ietf.org/html/rfc6901 with some additions. Patch will be executed partially when there are errors with some records. No transaction, no rollback.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "Bulk editing time entries",
                "operationId": "patch-time-entries",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Numeric IDs of time_entries, separated by comma. E.g.: `204301830,202700150,202687559`. The limit is 100 IDs per request.",
                        "name": "time_entry_ids",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Array of batch operations",
                        "name": "patch_input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/timeentries.patchPost"
                        }
                    },
                    {
                        "type": "boolean",
                        "description": "Should the response contain data for meta entities",
                        "name": "meta",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/timeentry.PatchOutput"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/time_entries/{time_entry_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Updates a workspace time entry.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "TimeEntries",
                "operationId": "put-workspace-time-entry-handler",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "TimeEntry ID.",
                        "name": "time_entry_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "TimeEntry parameters.",
                        "name": "workspace_time_entry_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/timeentry.Payload"
                        }
                    },
                    {
                        "type": "boolean",
                        "description": "Should the response contain data for meta entities",
                        "name": "meta",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A workspace TimeEntry.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntry"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Deletes a workspace time entry.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "TimeEntries",
                "operationId": "delete-workspace-time-entries",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "TimeEntry ID.",
                        "name": "time_entry_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns only status code.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/time_entries/{time_entry_id}/stop": {
            "patch": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Stops a workspace time entry.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "time_entries"
                ],
                "summary": "Stop TimeEntry",
                "operationId": "patch-workspace-stop-time-entry-handler",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "TimeEntry ID.",
                        "name": "time_entry_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The stopped workspace TimeEntry.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntry"
                        }
                    },
                    "400": {
                        "description": "Invalid or missing time_entry_id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Time entry not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "409": {
                        "description": "Time entry already stopped",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/time_entry_constraints": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get the time entry constraints for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces",
                    "time_entry_constraints"
                ],
                "summary": "Get workspace time entry constraints",
                "operationId": "get-workspace-time-entry-constraints",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntryConstraints"
                        }
                    },
                    "400": {
                        "description": "Workspace not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Post the time entry constraints for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces/time_entry_constraints"
                ],
                "summary": "Post workspace time entry constraints",
                "operationId": "post-workspace-time-entry-constraints",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Input data of the time entry constraints.",
                        "name": "time_entry_constraints",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.TimeEntryConstraints"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/workspaces.JSONResult"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eAdmin permissions required\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/timesheet_setups": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get timesheet setups for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Get timesheet setups",
                "operationId": "get-timesheet-setups",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the members, comma-separated",
                        "name": "member_ids",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the approvers, comma-separated",
                        "name": "approver_ids",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Field used for sorting, default start_date.",
                        "name": "sort_field",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Sort order.",
                        "name": "sort_order",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/timesheetsetups.GetPaginatedResponse"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid user ID\u003c/li\u003e\u003cli\u003eUser not in workspace\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Create timesheet setups.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Create a timesheet setup",
                "operationId": "post-timesheet-setups",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Arrays of setup creation parameters.",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/timesheetsetups.createPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/timesheetsetups.APITimesheetSetup"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid user ID\u003c/li\u003e\u003cli\u003eToo many user IDs\u003c/li\u003e\u003cli\u003eInvalid date\u003c/li\u003e\u003cli\u003eInvalid periodicity\u003c/li\u003e\u003cli\u003eUser not in workspace\u003c/li\u003e\u003cli\u003eUser is not an admin in the workspace\u003c/li\u003e\u003cli\u003eApprover cannot be member\u003c/li\u003e\u003cli\u003eMember already has a timesheet setup\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/timesheet_setups/{setup_id}": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Updates a timesheet setups.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Update a timesheet setup",
                "operationId": "put-timesheet-setups",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the timesheet setup",
                        "name": "setup_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Setup update parameters.",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/timesheetsetups.updatePayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "schema": {
                            "$ref": "#/definitions/timesheetsetups.APITimesheetSetup"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid user ID\u003c/li\u003e\u003cli\u003eInvalid date\u003c/li\u003e\u003cli\u003eUser is not an admin in the workspace\u003c/li\u003e\u003cli\u003eEnd date must respect periodicity\u003c/li\u003e\u003cli\u003eMember already has a timesheet setup\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Timesheet setup was not found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Delete a timesheet setup for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Delete a timesheet setup",
                "operationId": "delete-timesheet-setups",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the timesheet setup",
                        "name": "setup_id",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid setup ID\u003c/li\u003e\u003cli\u003eFailed to delete timesheet setup, member has approved, rejected or submitted timesheets\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/timesheets": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get timesheets applying various filters.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Get timesheets",
                "operationId": "get-workspace-timesheets-handler",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the members, comma-separated",
                        "name": "member_ids",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the approvers, comma-separated",
                        "name": "approver_ids",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID for timesheet setup, comma-separated.",
                        "name": "timesheet_setup_ids",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Timesheet status, comma-separated.",
                        "name": "statuses",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Timesheets starting before this date (YYYY-MM-DD).",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Timesheets starting after this date (YYYY-MM-DD).",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page number, default 1.",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of items per page, default 20. Also defaults to 20 if provided an greater than 1000.",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Field used for sorting, default start_date.",
                        "name": "sort_field",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Sort order.",
                        "name": "sort_order",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/timesheets.GetPaginatedResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid ID\u003c/li\u003e\u003cli\u003eInvalid date\u003c/li\u003e\u003cli\u003eInvalid status\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/timesheets/hours": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get timesheet working hours and total tracked seconds.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Get timesheets hours",
                "operationId": "get-workspace-timesheet-hours-handler",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Array of timesheet setup IDs and start dates.",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/timesheets.postTimesheetHoursPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/timesheets.TimesheetHoursResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid ID\u003c/li\u003e\u003cli\u003eInvalid date\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/timesheets/{setup_id}/{start_date}": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Get the time entries from within a timesheet timeframe.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Get timesheet time entries",
                "operationId": "get-workspace-timesheet-time-entries-handler",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the timesheet setup.",
                        "name": "setup_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Start date (YYYY-MM-DD) of the timesheet.",
                        "name": "start_date",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.TimeEntry"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid ID\u003c/li\u003e\u003cli\u003eInvalid date\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Updates a timesheet.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "approvals",
                    "workspaces"
                ],
                "summary": "Update timesheets",
                "operationId": "put-workspace-timesheets-handler",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the timesheet setup.",
                        "name": "setup_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Start date (YYYY-MM-DD) of the timesheet.",
                        "name": "start_date",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Timesheet status and rejection comment.",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/timesheets.putTimesheetPayload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "$ref": "#/definitions/timesheets.APITimesheet"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eInvalid ID\u003c/li\u003e\u003cli\u003eInvalid date\u003c/li\u003e\u003cli\u003eInvalid status\u003c/li\u003e\u003cli\u003eInvalid status for rejection comment\u003c/li\u003e\u003cli\u003eInvalid timesheet transition\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "402": {
                        "description": "Approvals are a premium feature",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/track_reminders": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Returns a list of track reminders.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "TrackReminders",
                "operationId": "get-workspace-track-reminders",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a list of track reminders.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.TrackReminder"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Creates a workspace tracking reminder.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "TrackReminders",
                "operationId": "post-workspace-track-reminders",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Reminder parameters.",
                        "name": "track_reminder_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/reminders.payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Creates a workspace tracking reminder.",
                        "schema": {
                            "$ref": "#/definitions/models.TrackReminder"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/track_reminders/{reminder_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Updates a workspace tracking reminder.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "TrackReminder",
                "operationId": "put-workspace-track-reminder",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Reminder ID.",
                        "name": "reminder_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Reminder parameters.",
                        "name": "track_reminder_post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/reminders.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updates a workspace tracking reminder.",
                        "schema": {
                            "$ref": "#/definitions/models.TrackReminder"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Deletes a workspace tracking reminder.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "workspaces"
                ],
                "summary": "TrackReminder",
                "operationId": "delete-workspace-track-reminder",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Reminder ID.",
                        "name": "reminder_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns only status code.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/users": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List all users for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "users",
                    "workspaces"
                ],
                "summary": "Get workspace users",
                "operationId": "get-workspace-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.SimpleWorkspaceUser"
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/users/{user_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update the data for a user in a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "users",
                    "workspaces"
                ],
                "summary": "Update workspace user",
                "operationId": "put-workspace-users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the user",
                        "name": "user_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/users/{user_id}/lost_password": {
            "post": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Request a change password action",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "users",
                    "workspaces"
                ],
                "summary": "Change a lost password",
                "operationId": "post-workspace-users-lost_password",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the user",
                        "name": "user_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The reset password URL",
                        "schema": {
                            "$ref": "#/definitions/users.LostPasswordURL"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eUser not found\u003c/li\u003e\u003cli\u003eWorkspace needs to have the Edit team members profile feature enabled\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eUser not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/workspace_users": {
            "get": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "List all workspace_users for a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "users"
                ],
                "summary": "Get workspace workspace-users",
                "operationId": "get-workspace-workspace_users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "If true, includes indirect users (i.e. users assigned via group) to workspace user list",
                        "name": "includeIndirect",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/models.WorkspaceUser"
                            }
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found\u003c/li\u003e\u003cli\u003eUser not found\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace_id}/workspace_users/{workspace_user_id}": {
            "put": {
                "security": [
                    {
                        "BasicAuth": []
                    }
                ],
                "description": "Update the data for a workspace_user in a given workspace.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "users",
                    "workspaces"
                ],
                "summary": "Update workspace-user",
                "operationId": "put-workspace-workspace_users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace user",
                        "name": "workspace_user_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Changes that need to be applied to the user data.",
                        "name": "post",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user.Payload"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "\u003cp\u003ePossible error messages:\u003c/p\u003e\u003cul\u003e\u003cli\u003eWorkspace not found/accessible\u003c/li\u003e\u003cli\u003eUser not found\u003c/li\u003e\u003cli\u003eWorkspace user not found/accessible by user\u003c/li\u003e\u003cli\u003eWorking hours must be positive or null\u003c/li\u003e\u003c/ul\u003e",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "User does not have access to this resource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Removes user from workspace",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "users",
                    "workspaces"
                ],
                "summary": "Delete workspace user",
                "operationId": "delete-workspace-user",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace.",
                        "name": "workspace_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Numeric ID of the workspace user.",
                        "name": "workspace_user_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Workspace user is not found or accessible",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "accounting.PurchaseOrderListItem": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "due_date": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "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": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "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"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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": {
                "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"
                }
            }
        },
        "billing.FancyPlan": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "plan_id": {
                    "type": "integer"
                },
                "pricing_plans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/billing.fancyPricingPlan"
                    }
                }
            }
        },
        "billing.PricingStruct": {
            "type": "object",
            "properties": {
                "currency_id": {
                    "type": "integer"
                },
                "discount_percentage": {
                    "type": "integer"
                },
                "discount_to": {
                    "type": "string"
                },
                "plans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/billing.FancyPlan"
                    }
                },
                "tax_included": {
                    "type": "boolean"
                },
                "tax_percentage": {
                    "type": "number"
                },
                "tax_type": {
                    "type": "string"
                },
                "user_count": {
                    "type": "integer"
                }
            }
        },
        "billing.fancyPricingPlan": {
            "type": "object",
            "properties": {
                "actual_price_in_usd_cents": {
                    "type": "integer"
                },
                "campaign": {
                    "type": "object",
                    "$ref": "#/definitions/models.Campaign"
                },
                "list_price_in_usd_cents": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "period": {
                    "type": "integer"
                },
                "price_point_handle": {
                    "type": "string"
                },
                "prices_month": {
                    "type": "object",
                    "$ref": "#/definitions/billing.pricesStruct"
                },
                "prices_period": {
                    "type": "object",
                    "$ref": "#/definitions/billing.pricesStruct"
                },
                "pricing_plan_id": {
                    "type": "integer"
                }
            }
        },
        "billing.pricesStruct": {
            "type": "object",
            "properties": {
                "actual": {
                    "type": "integer"
                },
                "base": {
                    "type": "integer"
                },
                "with_tax": {
                    "type": "integer"
                }
            }
        },
        "billingportal.payload": {
            "type": "object",
            "properties": {
                "country_code": {
                    "type": "string"
                },
                "return_url": {
                    "type": "string"
                }
            }
        },
        "calculate.Response": {
            "type": "object",
            "properties": {
                "calculation": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "period": {
                    "type": "integer"
                },
                "tax_percentage": {
                    "type": "integer"
                },
                "total_amount": {
                    "type": "integer"
                }
            }
        },
        "calculate.calculateRequest": {
            "type": "object",
            "required": [
                "period",
                "pricing_plan_id",
                "user_count"
            ],
            "properties": {
                "period": {
                    "description": "Can be only 1 or 12",
                    "type": "integer"
                },
                "pricing_plan_id": {
                    "type": "integer"
                },
                "user_count": {
                    "type": "integer"
                }
            }
        },
        "client.Payload": {
            "type": "object",
            "properties": {
                "name": {
                    "description": "Client name",
                    "type": "string"
                },
                "wid": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "clients.clientsPost": {
            "type": "object",
            "properties": {
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "name": {
                    "type": "string"
                },
                "start": {
                    "type": "integer"
                }
            }
        },
        "clients.clientsResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "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": {
                    "type": "object",
                    "$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": {
                    "type": "object",
                    "$ref": "#/definitions/comparative.reportGraph"
                }
            }
        },
        "comparative.reportGraph": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/comparative.graphData"
                    }
                },
                "resolution": {
                    "type": "string"
                }
            }
        },
        "customer.Coupon": {
            "type": "object",
            "properties": {
                "amount_off": {
                    "type": "integer"
                },
                "deleted": {
                    "type": "boolean"
                },
                "duration": {
                    "type": "string"
                },
                "duration_in_months": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "percent_off": {
                    "type": "number"
                },
                "valid": {
                    "type": "boolean"
                }
            }
        },
        "customer.DiscountResponse": {
            "type": "object",
            "properties": {
                "coupon": {
                    "type": "object",
                    "$ref": "#/definitions/customer.Coupon"
                },
                "promotion_code": {
                    "type": "object",
                    "$ref": "#/definitions/customer.PromotionCode"
                }
            }
        },
        "customer.PaymentMethod": {
            "type": "object",
            "properties": {
                "card": {
                    "type": "object",
                    "$ref": "#/definitions/customer.PaymentMethodCard"
                },
                "sepa_debit": {
                    "type": "object",
                    "$ref": "#/definitions/customer.PaymentMethodSEPADebit"
                },
                "type": {
                    "type": "string"
                },
                "us_bank_account": {
                    "type": "object",
                    "$ref": "#/definitions/customer.PaymentMethodUSBankAccount"
                }
            }
        },
        "customer.PaymentMethodCard": {
            "type": "object",
            "properties": {
                "brand": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "exp_month": {
                    "type": "integer"
                },
                "exp_year": {
                    "type": "integer"
                },
                "last4": {
                    "type": "string"
                }
            }
        },
        "customer.PaymentMethodSEPADebit": {
            "type": "object",
            "properties": {
                "bank_code": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "last4": {
                    "type": "string"
                }
            }
        },
        "customer.PaymentMethodUSBankAccount": {
            "type": "object",
            "properties": {
                "bank_name": {
                    "type": "string"
                },
                "blocked": {
                    "type": "boolean"
                },
                "blocked_reason": {
                    "type": "string"
                },
                "last4": {
                    "type": "string"
                }
            }
        },
        "customer.PromotionCode": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "code": {
                    "type": "string"
                },
                "expires_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "customer.UnifiedCustomerResponse": {
            "type": "object",
            "properties": {
                "address_line": {
                    "type": "string"
                },
                "country_id": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "customer_name": {
                    "type": "string"
                },
                "default_payment_method": {
                    "type": "object",
                    "$ref": "#/definitions/customer.PaymentMethod"
                },
                "discount": {
                    "type": "object",
                    "$ref": "#/definitions/customer.DiscountResponse"
                },
                "id": {
                    "type": "string"
                },
                "postal_code": {
                    "type": "string"
                },
                "site": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "tax_number": {
                    "type": "string"
                },
                "toggl_user_email": {
                    "type": "string"
                },
                "toggl_user_id": {
                    "type": "integer"
                }
            }
        },
        "dashboard.allActivities": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "duration": {
                    "type": "integer"
                },
                "project_id": {
                    "type": "integer"
                },
                "stop": {
                    "type": "string",
                    "format": "date-time"
                },
                "tid": {
                    "type": "integer"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "desktop.LoginToken": {
            "type": "object",
            "properties": {
                "login_token": {
                    "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"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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"
                    }
                },
                "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"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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"
                },
                "end_date": {
                    "description": "End date, example time.DateOnly. Should be greater than Start date.",
                    "type": "string"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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"
                },
                "id": {
                    "type": "integer"
                },
                "seconds": {
                    "type": "integer"
                },
                "start": {
                    "type": "string"
                },
                "stop": {
                    "type": "string"
                }
            }
        },
        "dto.AggFilterRequest": {
            "type": "object",
            "properties": {
                "conditions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.AggFilterRequest"
                    }
                },
                "operator": {
                    "type": "string"
                },
                "property": {
                    "type": "string"
                },
                "value": {
                    "type": "any"
                }
            }
        },
        "dto.AggregationRequest": {
            "type": "object",
            "required": [
                "function",
                "property"
            ],
            "properties": {
                "alias": {
                    "type": "string"
                },
                "function": {
                    "type": "string"
                },
                "property": {
                    "type": "string"
                }
            }
        },
        "dto.AttributeRequest": {
            "type": "object",
            "properties": {
                "property": {
                    "type": "string"
                }
            }
        },
        "dto.CreationRequest": {
            "type": "object",
            "properties": {
                "external": {
                    "description": "For safe, the default value is false.",
                    "type": "boolean"
                }
            }
        },
        "dto.FilterRequest": {
            "type": "object",
            "properties": {
                "conditions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.FilterRequest"
                    }
                },
                "operator": {
                    "type": "string"
                },
                "property": {
                    "type": "string"
                },
                "value": {
                    "type": "any"
                }
            }
        },
        "dto.GetResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "created_by": {
                    "type": "integer"
                },
                "creator_name": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "link": {
                    "type": "object",
                    "$ref": "#/definitions/dto.LinkResponse"
                },
                "locked": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.ResourcePermissionResponse"
                    }
                },
                "pinned": {
                    "type": "boolean"
                },
                "plan": {
                    "type": "string"
                },
                "preferences": {
                    "type": "object",
                    "additionalProperties": true
                },
                "query": {
                    "type": "object",
                    "$ref": "#/definitions/dto.QueryResponse"
                },
                "source": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.GroupingRequest": {
            "type": "object",
            "required": [
                "property"
            ],
            "properties": {
                "alias": {
                    "type": "string"
                },
                "property": {
                    "type": "string"
                },
                "show_empty": {
                    "type": "boolean"
                }
            }
        },
        "dto.LinkResponse": {
            "type": "object",
            "properties": {
                "external": {
                    "type": "boolean"
                },
                "token": {
                    "type": "string"
                }
            }
        },
        "dto.OrdinationRequest": {
            "type": "object",
            "required": [
                "property"
            ],
            "properties": {
                "direction": {
                    "type": "string"
                },
                "nulls": {
                    "type": "string"
                },
                "property": {
                    "type": "string"
                }
            }
        },
        "dto.PeriodRequest": {
            "type": "object",
            "properties": {
                "from": {
                    "type": "string"
                },
                "preset": {
                    "type": "string"
                },
                "to": {
                    "type": "string"
                }
            }
        },
        "dto.QueryResponse": {
            "type": "object",
            "required": [
                "period"
            ],
            "properties": {
                "aggregation_filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.AggFilterRequest"
                    }
                },
                "aggregations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.AggregationRequest"
                    }
                },
                "attributes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.AttributeRequest"
                    }
                },
                "filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.FilterRequest"
                    }
                },
                "groupings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.GroupingRequest"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "ordinations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.OrdinationRequest"
                    }
                },
                "period": {
                    "type": "object",
                    "$ref": "#/definitions/dto.PeriodRequest"
                },
                "preferences": {
                    "type": "object",
                    "additionalProperties": true
                },
                "transformations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.TransformationRequest"
                    }
                },
                "v3_query_params": {
                    "type": "string"
                }
            }
        },
        "dto.ResourcePermissionResponse": {
            "type": "object",
            "properties": {
                "allowed_actions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "group_id": {
                    "type": "integer"
                },
                "organization_id": {
                    "type": "integer"
                },
                "permission_type": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "dto.TransformationRequest": {
            "type": "object",
            "required": [
                "name",
                "parameters"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "parameters": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "export.payload": {
            "type": "object",
            "properties": {
                "profile": {
                    "type": "boolean"
                },
                "timeline": {
                    "type": "boolean"
                }
            }
        },
        "goals.CadenceParameter": {
            "type": "object",
            "properties": {
                "cadence_period": {
                    "type": "string"
                },
                "cadences": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.GoalCadence"
                    }
                },
                "comparing": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "deleted_at": {
                    "type": "string"
                },
                "end_date": {
                    "type": "string"
                },
                "goal_id": {
                    "type": "integer"
                },
                "goal_parameter_id": {
                    "type": "integer"
                },
                "goal_type": {
                    "type": "object",
                    "$ref": "#/definitions/models.GoalType"
                },
                "start_date": {
                    "type": "string"
                },
                "target_value": {
                    "type": "integer"
                }
            }
        },
        "goals.CadenceResponse": {
            "type": "object",
            "properties": {
                "goal_id": {
                    "type": "integer"
                },
                "parameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/goals.CadenceParameter"
                    }
                }
            }
        },
        "goals.InsightResponse": {
            "type": "object",
            "properties": {
                "cadences": {
                    "type": "integer"
                },
                "value": {
                    "type": "integer"
                }
            }
        },
        "goals.ParamsCreate": {
            "type": "object",
            "required": [
                "cadence_period",
                "comparing",
                "goal_type",
                "name",
                "start",
                "target_value",
                "workspace_id"
            ],
            "properties": {
                "cadence_period": {
                    "type": "string",
                    "example": "daily"
                },
                "comparing": {
                    "type": "string",
                    "example": "greater"
                },
                "description": {
                    "type": "string",
                    "example": "Goal long description"
                },
                "end": {
                    "type": "string",
                    "example": "2022-05-20T00:00:00Z"
                },
                "goal_type": {
                    "type": "object",
                    "$ref": "#/definitions/models.GoalType"
                },
                "icon": {
                    "type": "integer",
                    "example": 1
                },
                "icon_color": {
                    "type": "string",
                    "example": "#000000"
                },
                "name": {
                    "type": "string",
                    "example": "Goal name"
                },
                "start": {
                    "type": "string",
                    "example": "2021-09-20T00:00:00Z"
                },
                "target_value": {
                    "type": "integer",
                    "example": 3600
                },
                "workspace_id": {
                    "type": "integer",
                    "example": 123
                }
            }
        },
        "goals.ParamsGetCadence": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "archived": {
                    "type": "string"
                },
                "goal": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "offset": {
                    "type": "integer"
                }
            }
        },
        "goals.ParamsInsight": {
            "type": "object",
            "required": [
                "cadence_period",
                "goal_type",
                "user_id",
                "workspace_id"
            ],
            "properties": {
                "cadence_period": {
                    "type": "string"
                },
                "goal_type": {
                    "type": "object",
                    "$ref": "#/definitions/models.GoalType"
                },
                "user_id": {
                    "type": "integer"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "goals.ParamsList": {
            "type": "object",
            "properties": {
                "archived": {
                    "type": "string",
                    "default": "false"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "goals.UpdateParams": {
            "type": "object",
            "properties": {
                "archive": {
                    "type": "boolean"
                },
                "description": {
                    "type": "string"
                },
                "icon": {
                    "type": "integer"
                },
                "icon_color": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "target_value": {
                    "type": "integer"
                }
            }
        },
        "group.NamePayload": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "group.OrganizationGroupResponse": {
            "type": "object",
            "properties": {
                "at": {
                    "type": "string"
                },
                "group_id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.OrganizationUserSimple"
                    }
                },
                "workspaces": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "group.Payload": {
            "type": "object",
            "properties": {
                "name": {
                    "description": "Group name",
                    "type": "string"
                },
                "users": {
                    "description": "Group users, optional",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "workspaces": {
                    "description": "Group workspaces, optional",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "group.ProjectGroupPayload": {
            "type": "object",
            "properties": {
                "group_id": {
                    "description": "Group ID",
                    "type": "integer"
                },
                "project_id": {
                    "description": "Project ID",
                    "type": "integer"
                }
            }
        },
        "groups.PatchFailure": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "patch": {
                    "type": "object",
                    "$ref": "#/definitions/groups.PatchInput"
                }
            }
        },
        "groups.PatchInput": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string"
                },
                "path": {
                    "type": "string"
                },
                "value": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "groups.PatchOutput": {
            "type": "object",
            "properties": {
                "failure": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/groups.PatchFailure"
                    }
                },
                "success": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/groups.PatchInput"
                    }
                }
            }
        },
        "groups.ProjectGroup": {
            "type": "object",
            "properties": {
                "group_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                }
            }
        },
        "groups.projectGroupsPost": {
            "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"
                }
            }
        },
        "handlercalendar.CalendarsResponse": {
            "type": "object",
            "properties": {
                "calendars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Calendar"
                    }
                },
                "next_page_token": {
                    "type": "string"
                }
            }
        },
        "handlercalendar.EventsResponse": {
            "type": "object",
            "properties": {
                "events": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Event"
                    }
                },
                "next_page_token": {
                    "type": "string"
                }
            }
        },
        "handlercalendar.FetchedCalendarsResponse": {
            "type": "object",
            "properties": {
                "fetched_calendars": {
                    "type": "integer"
                }
            }
        },
        "handlercalendar.PatchCalendar": {
            "type": "object",
            "properties": {
                "default_planned_task_id": {
                    "type": "integer"
                },
                "default_project_id": {
                    "type": "integer"
                },
                "default_workspace_id": {
                    "type": "integer"
                },
                "remind_tracking": {
                    "description": "The following fields are deprecated but we need to keep them for backward compatibility with previous versions\nof mobile apps",
                    "type": "boolean"
                },
                "selected": {
                    "type": "boolean"
                }
            }
        },
        "handlercalendar.PostDetailsSuggestionRequest": {
            "type": "object",
            "properties": {
                "event_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "handlercalendar.PostDetailsSuggestionResponse": {
            "type": "object",
            "properties": {
                "suggestions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlercalendar.PostDetailsSuggestionResponseItem"
                    }
                }
            }
        },
        "handlercalendar.PostDetailsSuggestionResponseItem": {
            "type": "object",
            "properties": {
                "event_id": {
                    "type": "integer"
                },
                "suggestion": {
                    "type": "object",
                    "$ref": "#/definitions/models.Suggestion"
                }
            }
        },
        "handlercalendar.Response": {
            "type": "object",
            "properties": {
                "fetched_events": {
                    "type": "integer"
                }
            }
        },
        "handlerfavorites.payload": {
            "type": "object",
            "properties": {
                "billable": {
                    "type": "boolean",
                    "example": true
                },
                "description": {
                    "type": "string",
                    "example": "Very often used TE"
                },
                "project_id": {
                    "type": "integer",
                    "example": 222222
                },
                "tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "example": [
                        100
                    ]
                },
                "task_id": {
                    "type": "integer",
                    "example": 333333
                },
                "workspace_id": {
                    "type": "integer",
                    "example": 111111
                }
            }
        },
        "i18n.Message": {
            "type": "object",
            "properties": {
                "default_message": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "values": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "invitation.Info": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "invitation_id": {
                    "type": "integer"
                },
                "invite_url": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "recipient_id": {
                    "type": "integer"
                },
                "sender_id": {
                    "type": "integer"
                }
            }
        },
        "invitation.Post": {
            "type": "object",
            "properties": {
                "emails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "workspaces": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/invitation.PostWorkspaces"
                    }
                }
            }
        },
        "invitation.PostWorkspaces": {
            "type": "object",
            "properties": {
                "admin": {
                    "type": "boolean"
                },
                "role": {
                    "type": "string"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "invitation.Result": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/invitation.Info"
                    }
                },
                "messages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "jwk.Set": {
            "type": "object"
        },
        "me.Feature": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "feature_id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "me.LostPasswordPayload": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "Temporary token to reset password",
                    "type": "string"
                },
                "password": {
                    "description": "User's new password",
                    "type": "string"
                },
                "user_id": {
                    "description": "User's ID",
                    "type": "integer"
                }
            }
        },
        "me.PostInitialWorkspace": {
            "type": "object",
            "properties": {
                "initial_pricing_plan": {
                    "description": "Plan ID for the new workspace",
                    "type": "integer"
                },
                "name": {
                    "description": "Workspace name, if not provided it will be based on the user's full name",
                    "type": "string"
                }
            }
        },
        "me.PostUser": {
            "type": "object",
            "required": [
                "email",
                "password",
                "tos_accepted"
            ],
            "properties": {
                "country_id": {
                    "description": "User's country ID, if not provided will be United States",
                    "type": "integer"
                },
                "created_with": {
                    "description": "Should describe the application/service that is using the API",
                    "type": "string"
                },
                "email": {
                    "description": "Email for new user account",
                    "type": "string",
                    "format": "email"
                },
                "full_name": {
                    "description": "User's full name, if not provided will be derived from the email address",
                    "type": "string"
                },
                "invitation_code": {
                    "description": "Optional, used when creating account through an invitation",
                    "type": "string"
                },
                "password": {
                    "description": "Password for new user account",
                    "type": "string",
                    "minLength": 6
                },
                "timezone": {
                    "description": "User's timezone, if not provided will be UTC",
                    "type": "string"
                },
                "tos_accepted": {
                    "description": "Whether the Terms of Service have been accepted",
                    "type": "boolean"
                },
                "workspace": {
                    "description": "Optional workspace settings, used when creating account not through an invitation",
                    "type": "object",
                    "$ref": "#/definitions/me.PostInitialWorkspace"
                }
            }
        },
        "me.UserLocationResponse": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string"
                },
                "city_lat_long": {
                    "type": "string"
                },
                "country_code": {
                    "type": "string"
                },
                "country_name": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "me.Workspace": {
            "type": "object",
            "properties": {
                "features": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/me.Feature"
                    }
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "me.payload": {
            "type": "object",
            "properties": {
                "beginning_of_week": {
                    "description": "User's first day of the week. Sunday: 0, Monday:1, etc.",
                    "type": "integer"
                },
                "country_id": {
                    "description": "User's country ID",
                    "type": "integer"
                },
                "current_password": {
                    "description": "User's current password (used to change the current password)",
                    "type": "string"
                },
                "default_workspace_id": {
                    "description": "User's default workspace ID",
                    "type": "integer"
                },
                "email": {
                    "description": "User's email address",
                    "type": "string",
                    "format": "email"
                },
                "fullname": {
                    "description": "User's full name",
                    "type": "string"
                },
                "password": {
                    "description": "User's new password (current one must also be provided)",
                    "type": "string"
                },
                "timezone": {
                    "description": "User's timezone",
                    "type": "string"
                }
            }
        },
        "me.postSessionHandlerRequestBody": {
            "type": "object",
            "properties": {
                "remember_me": {
                    "description": "If true, the session cookie will be valid for 24 hours, otherwise until the browser is closed",
                    "type": "boolean"
                }
            }
        },
        "models.Actions": {
            "type": "object",
            "properties": {
                "default": {
                    "type": "string"
                }
            }
        },
        "models.Alert": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.AlertError"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "object_type": {
                    "type": "integer"
                },
                "project_id": {
                    "type": "integer"
                },
                "receiver_groups": {
                    "type": "string"
                },
                "receiver_roles": {
                    "type": "string"
                },
                "receiver_users": {
                    "type": "string"
                },
                "receivers": {
                    "type": "integer"
                },
                "source_kind": {
                    "type": "string"
                },
                "threshold": {
                    "type": "integer"
                },
                "threshold_type": {
                    "type": "string"
                },
                "thresholds": {
                    "description": "using pq types is a workaround to enable reading postgres arrays into go types\nwe should wrap these pq types to avoid polluting our domain",
                    "type": "string"
                },
                "wid": {
                    "type": "integer"
                }
            }
        },
        "models.AlertError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "models.AllPreferences": {
            "type": "object",
            "properties": {
                "alpha_features": {
                    "description": "will be omitted if empty",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.AlphaFeature"
                    }
                },
                "calendar_visible_hours_end": {
                    "type": "integer"
                },
                "calendar_visible_hours_start": {
                    "type": "integer"
                },
                "charts_view_type": {
                    "type": "string"
                },
                "collapseDetailedReportEntries": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "collapseTimeEntries": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "dashboards_view_type": {
                    "type": "string"
                },
                "date_format": {
                    "type": "string"
                },
                "decimal_separator": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "displayDensity": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "distinctRates": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "duration_format": {
                    "type": "string"
                },
                "duration_format_on_timer_duration_field": {
                    "type": "boolean"
                },
                "firstSeenBusinessPromo": {
                    "description": "will be omitted if empty",
                    "type": "integer"
                },
                "hide_keyboard_shortcut": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "keyboard_increment_timer_page": {
                    "type": "integer"
                },
                "keyboard_shortcuts_enabled": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "manualEntryMode": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "manualMode": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "manualModeOverlaySeen": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "offlineMode": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "pg_time_zone_name": {
                    "type": "string"
                },
                "projectDashboardActivityMode": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "record_timeline": {
                    "type": "boolean"
                },
                "reportRounding": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "reportRoundingDirection": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "reportRoundingStepInMinutes": {
                    "description": "will be omitted if empty",
                    "type": "integer"
                },
                "reportsHideWeekends": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "seenFollowModal": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "seenFooterPopup": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "seenProjectDashboardOverlay": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "seenTogglButtonModal": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "send_product_emails": {
                    "type": "boolean"
                },
                "send_timer_notifications": {
                    "type": "boolean"
                },
                "send_weekly_report": {
                    "type": "boolean"
                },
                "showTimeInTitle": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "show_timeline_in_day_view": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "show_total_billable_hours": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "show_weekend_on_timer_page": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "snowballReportRounding": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "stack_times_on_manual_mode_after": {
                    "type": "string"
                },
                "summaryReportAmounts": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "summaryReportDistinctRates": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "summaryReportGrouping": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "summaryReportSortAsc": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "summaryReportSortField": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "summaryReportSubGrouping": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "theme": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "timeofday_format": {
                    "type": "string"
                },
                "timerView": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "timerViewMobile": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "toSAcceptNeeded": {
                    "description": "ToSAcceptNeeded represents the trigger for new ToS accept dialog",
                    "type": "boolean"
                },
                "visibleFooter": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "webTimeEntryStarted": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "webTimeEntryStopped": {
                    "description": "will be omitted if empty",
                    "type": "boolean"
                },
                "weeklyReportGrouping": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "weeklyReportValueToShow": {
                    "description": "will be omitted if empty",
                    "type": "string"
                }
            }
        },
        "models.AlphaFeature": {
            "type": "object",
            "properties": {
                "alpha_feature_id": {
                    "description": "Feature ID",
                    "type": "integer"
                },
                "code": {
                    "description": "Feature code",
                    "type": "string"
                },
                "deleted_at": {
                    "description": "Time of deletion, omitted if empty",
                    "type": "string"
                },
                "description": {
                    "description": "Feature description, omitted if empty",
                    "type": "string"
                },
                "enabled": {
                    "description": "Whether the feature is enabled",
                    "type": "boolean"
                }
            }
        },
        "models.Avatar": {
            "type": "object",
            "properties": {
                "avatar_urls": {
                    "type": "object",
                    "$ref": "#/definitions/models.ImageURLs"
                },
                "fileType": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "models.Calendar": {
            "type": "object",
            "properties": {
                "background_color": {
                    "type": "string"
                },
                "calendar_id": {
                    "type": "integer"
                },
                "calendar_integration_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "default_planned_task_id": {
                    "type": "integer"
                },
                "default_project_id": {
                    "type": "integer"
                },
                "default_workspace_id": {
                    "type": "integer"
                },
                "deleted_at": {
                    "type": "string"
                },
                "external_id": {
                    "type": "string"
                },
                "foreground_color": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "remind_tracking": {
                    "description": "The following fields are deprecated but we need to keep them for backward compatibility with previous versions\nof mobile apps",
                    "type": "boolean"
                },
                "selected": {
                    "type": "boolean"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "models.Campaign": {
            "type": "object",
            "properties": {
                "discount": {
                    "type": "integer"
                },
                "end": {
                    "type": "string"
                },
                "key": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "start": {
                    "type": "string"
                }
            }
        },
        "models.CardDetails": {
            "type": "object",
            "properties": {
                "added_at": {
                    "type": "string"
                },
                "card_number": {
                    "type": "string"
                },
                "card_type": {
                    "type": "string"
                },
                "creator_id": {
                    "type": "integer"
                },
                "creator_name": {
                    "type": "string"
                },
                "expiry_date": {
                    "type": "string"
                },
                "holder_name": {
                    "type": "string"
                }
            }
        },
        "models.Client": {
            "type": "object",
            "properties": {
                "archived": {
                    "description": "IsArchived is true if the client is archived",
                    "type": "boolean"
                },
                "at": {
                    "description": "When was the last update",
                    "type": "string"
                },
                "creator_id": {
                    "description": "CreatorID is the ID of the user who created the client",
                    "type": "integer"
                },
                "guid": {
                    "description": "GUID is a unique identifier for the client",
                    "type": "string"
                },
                "id": {
                    "description": "Client ID",
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the client",
                    "type": "string"
                },
                "permissions": {
                    "description": "List of authorization permissions for this client.",
                    "type": "string"
                },
                "server_deleted_at": {
                    "description": "When was deleted, null if not deleted",
                    "type": "string"
                },
                "wid": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "models.Company": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "bank_details": {
                    "type": "string"
                },
                "company_id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "tax_number": {
                    "type": "string"
                },
                "tax_number_name": {
                    "type": "string"
                },
                "tax_type": {
                    "type": "string"
                }
            }
        },
        "models.ContactDetail": {
            "type": "object",
            "properties": {
                "company_address": {
                    "type": "string"
                },
                "company_city": {
                    "type": "string"
                },
                "company_name": {
                    "type": "string"
                },
                "contact_detail_id": {
                    "type": "integer"
                },
                "contact_email": {
                    "type": "string"
                },
                "contact_person": {
                    "type": "string"
                },
                "country_id": {
                    "type": "integer"
                },
                "country_subdivision_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "customer_id": {
                    "type": "integer"
                },
                "is_eu_resident": {
                    "type": "boolean"
                },
                "updated_at": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                },
                "vat_number": {
                    "type": "string"
                },
                "vat_number_valid": {
                    "description": "DEPRECATED",
                    "type": "boolean"
                },
                "vat_number_validated_at": {
                    "description": "DEPRECATED",
                    "type": "string"
                },
                "zip_code": {
                    "type": "string"
                }
            }
        },
        "models.Country": {
            "type": "object",
            "properties": {
                "country_code": {
                    "type": "string"
                },
                "default_currency_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "vat_applicable": {
                    "type": "boolean"
                },
                "vat_percentage": {
                    "type": "number"
                },
                "vat_regex": {
                    "type": "string"
                }
            }
        },
        "models.CsvUpload": {
            "type": "object",
            "properties": {
                "at": {
                    "type": "string"
                },
                "log_id": {
                    "type": "integer"
                }
            }
        },
        "models.Currency": {
            "type": "object",
            "properties": {
                "currency_id": {
                    "type": "integer",
                    "example": 0
                },
                "iso_code": {
                    "type": "string",
                    "example": "EUR"
                },
                "symbol": {
                    "type": "string",
                    "example": "€"
                }
            }
        },
        "models.Customer": {
            "type": "object",
            "properties": {
                "balance_in_cents": {
                    "description": "DEPRECATED",
                    "type": "integer"
                },
                "balance_updated_at": {
                    "description": "DEPRECATED",
                    "type": "string"
                },
                "company": {
                    "type": "object",
                    "$ref": "#/definitions/models.Company"
                },
                "company_id": {
                    "type": "integer"
                },
                "contact_detail": {
                    "type": "object",
                    "$ref": "#/definitions/models.ContactDetail"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_id": {
                    "type": "integer"
                },
                "customer_id": {
                    "type": "integer"
                },
                "deleted_at": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "payment_detail": {
                    "type": "object",
                    "$ref": "#/definitions/models.PaymentDetail"
                },
                "purchase_order_enabled": {
                    "type": "boolean"
                }
            }
        },
        "models.DownloadRequestRecord": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                }
            }
        },
        "models.Event": {
            "type": "object",
            "properties": {
                "all_day": {
                    "type": "boolean"
                },
                "background": {
                    "type": "string"
                },
                "calendar_event_id": {
                    "type": "integer"
                },
                "calendar_id": {
                    "type": "integer"
                },
                "end_time": {
                    "type": "string"
                },
                "external_id": {
                    "type": "string"
                },
                "foreground": {
                    "type": "string"
                },
                "html_link": {
                    "type": "string"
                },
                "ical_uid": {
                    "description": "This is an unique ID used to avoid duplicate events when getting information\nfrom multiple sources. E. G. the mobile may get calendar events without BE integration,\nso they should be able to tell if an event is repeated.",
                    "type": "string"
                },
                "start_time": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updated": {
                    "type": "string"
                }
            }
        },
        "models.Favorite": {
            "type": "object",
            "properties": {
                "billable": {
                    "type": "boolean"
                },
                "client_name": {
                    "description": "Related entities meta fields - if requested",
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "deleted_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "favorite_id": {
                    "type": "integer"
                },
                "project_active": {
                    "type": "boolean"
                },
                "project_color": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                },
                "project_name": {
                    "type": "string"
                },
                "public": {
                    "type": "boolean"
                },
                "rank": {
                    "type": "integer"
                },
                "tag_ids": {
                    "description": "tag IDs are loaded into this after loading the Favorite",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_id": {
                    "type": "integer"
                },
                "task_name": {
                    "type": "string"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.Goal": {
            "type": "object",
            "properties": {
                "archivedAt": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "deletedAt": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "end": {
                    "type": "string"
                },
                "icon": {
                    "type": "integer"
                },
                "iconColor": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "start": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "userID": {
                    "type": "integer"
                },
                "workspaceID": {
                    "type": "integer"
                }
            }
        },
        "models.GoalCadence": {
            "type": "object",
            "properties": {
                "achieved": {
                    "type": "boolean"
                },
                "cadence_end": {
                    "type": "string"
                },
                "cadence_start": {
                    "type": "string"
                },
                "goal_cadence_id": {
                    "type": "integer"
                },
                "goal_parameter_id": {
                    "type": "integer"
                },
                "streak": {
                    "type": "integer"
                },
                "tracked_value": {
                    "type": "integer"
                }
            }
        },
        "models.GoalProjectType": {
            "type": "object",
            "properties": {
                "project_id": {
                    "type": "integer",
                    "example": 222
                },
                "task_id": {
                    "type": "integer",
                    "example": 333
                }
            }
        },
        "models.GoalStats": {
            "type": "object",
            "properties": {
                "longest_streak": {
                    "type": "integer"
                },
                "status": {
                    "description": "open, finished or archived",
                    "type": "string"
                },
                "successful_cadences": {
                    "type": "integer"
                },
                "total_cadences": {
                    "type": "integer"
                }
            }
        },
        "models.GoalType": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "For simplicity's sake we will not use GoalBillableType here",
                    "type": "boolean",
                    "example": true
                },
                "projects": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.GoalProjectType"
                    }
                }
            }
        },
        "models.Group": {
            "type": "object",
            "properties": {
                "at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.GroupDict": {
            "type": "object",
            "properties": {
                "group_id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "models.ImageURLs": {
            "type": "object",
            "additionalProperties": {
                "type": "string"
            }
        },
        "models.Integration": {
            "type": "object",
            "properties": {
                "calendar_integration_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "error_status": {
                    "type": "string"
                },
                "provider": {
                    "type": "string"
                }
            }
        },
        "models.Invitation": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "sender_email": {
                    "type": "string"
                },
                "sender_name": {
                    "type": "string"
                }
            }
        },
        "models.Logo": {
            "type": "object",
            "properties": {
                "logo": {
                    "type": "string"
                }
            }
        },
        "models.LostPassword": {
            "type": "object",
            "properties": {
                "email": {
                    "description": "Email of user requesting password reset",
                    "type": "string"
                }
            }
        },
        "models.MeOrganization": {
            "type": "object",
            "properties": {
                "admin": {
                    "description": "Whether the requester is an admin of the organization",
                    "type": "boolean"
                },
                "at": {
                    "description": "Organization's last modification date",
                    "type": "string",
                    "format": "date-time"
                },
                "created_at": {
                    "description": "Organization's creation date",
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "description": "Organization ID",
                    "type": "integer"
                },
                "is_multi_workspace_enabled": {
                    "description": "Is true when the organization option is_multi_workspace_enabled is set",
                    "type": "boolean"
                },
                "is_unified": {
                    "type": "boolean"
                },
                "max_data_retention_days": {
                    "description": "How far back free workspaces in this org can access data.",
                    "type": "integer"
                },
                "max_workspaces": {
                    "description": "Maximum number of workspaces allowed for the organization",
                    "type": "integer"
                },
                "name": {
                    "description": "Organization Name",
                    "type": "string"
                },
                "owner": {
                    "description": "Whether the requester is a the owner of the organization",
                    "type": "boolean"
                },
                "payment_methods": {
                    "description": "Organization's subscription payment methods. Omitted if empty.",
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "pricing_plan_id": {
                    "description": "Organization plan ID",
                    "type": "integer"
                },
                "server_deleted_at": {
                    "description": "Organization's delete date",
                    "type": "string",
                    "format": "date-time",
                    "x-nullable": true
                },
                "suspended_at": {
                    "description": "Whether the organization is currently suspended",
                    "type": "string"
                },
                "trial_info": {
                    "type": "object",
                    "$ref": "#/definitions/models.TrialInfo"
                },
                "user_count": {
                    "description": "Number of organization users",
                    "type": "integer"
                }
            }
        },
        "models.MobileFeedback": {
            "type": "object",
            "properties": {
                "attachment": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "attachment_name": {
                    "type": "string"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.MobileFeedbackData"
                    }
                },
                "email": {
                    "type": "string"
                },
                "intercomEnabled": {
                    "type": "boolean"
                },
                "message": {
                    "type": "string"
                },
                "userID": {
                    "type": "integer"
                }
            }
        },
        "models.MobileFeedbackData": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "models.MostActiveUser": {
            "type": "object",
            "properties": {
                "duration": {
                    "type": "integer"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "models.Options": {
            "type": "object",
            "additionalProperties": {
                "type": "string"
            }
        },
        "models.OrgUser": {
            "type": "object",
            "properties": {
                "admin": {
                    "type": "boolean"
                },
                "avatar_url": {
                    "type": "string"
                },
                "can_edit_email": {
                    "type": "boolean"
                },
                "email": {
                    "type": "string"
                },
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.GroupDict"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "inactive": {
                    "type": "boolean"
                },
                "invitation_code": {
                    "type": "string"
                },
                "joined": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "owner": {
                    "type": "boolean"
                },
                "user_id": {
                    "type": "integer"
                },
                "workspaces": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.OrgUserWorkspace"
                    }
                }
            }
        },
        "models.OrgUserDetailed": {
            "type": "object",
            "properties": {
                "admin": {
                    "type": "boolean"
                },
                "avatar_url": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "fullname": {
                    "type": "string"
                },
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.GroupDict"
                    }
                },
                "inactive": {
                    "type": "boolean"
                },
                "organization_id": {
                    "type": "integer"
                },
                "organization_user_id": {
                    "type": "integer"
                },
                "owner": {
                    "type": "boolean"
                },
                "user_id": {
                    "type": "integer"
                },
                "workspaces": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.OrgUserWorkspaceDetails"
                    }
                }
            }
        },
        "models.OrgUserWorkspace": {
            "type": "object",
            "properties": {
                "admin": {
                    "type": "boolean"
                },
                "inactive": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "role": {
                    "type": "string"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.OrgUserWorkspaceDetails": {
            "type": "object",
            "properties": {
                "admin": {
                    "type": "boolean"
                },
                "cost": {
                    "type": "number"
                },
                "default_currency": {
                    "type": "string"
                },
                "inactive": {
                    "type": "boolean"
                },
                "rate": {
                    "type": "number"
                },
                "role": {
                    "type": "string"
                },
                "working_hours": {
                    "type": "number"
                },
                "workspace_id": {
                    "type": "integer"
                },
                "workspace_name": {
                    "type": "string"
                },
                "workspace_user_id": {
                    "type": "integer"
                }
            }
        },
        "models.OrganizationOwner": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "organization_user_id": {
                    "type": "integer"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "models.OrganizationSegmentation": {
            "type": "object",
            "properties": {
                "demo_requested": {
                    "type": "boolean"
                },
                "full_name": {
                    "type": "string"
                },
                "heard": {
                    "type": "string"
                },
                "industries": {
                    "type": "string"
                },
                "members_range": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "reasons": {
                    "type": "string"
                },
                "skipped_step": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "models.OrganizationUserSimple": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "joined": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "models.OrganizationWorkspaceUser": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Flag indicating if user accepted the invitation",
                    "type": "boolean"
                },
                "admin": {
                    "description": "Flag indicating if user is admin",
                    "type": "boolean"
                },
                "at": {
                    "description": "Timestamp of the last update",
                    "type": "string"
                },
                "avatar_file_name": {
                    "description": "URL of avatar",
                    "type": "string"
                },
                "email": {
                    "description": "Email of the user",
                    "type": "string"
                },
                "group_ids": {
                    "description": "List of groups the user belongs to",
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "id": {
                    "description": "Identifier of the user inside workspace",
                    "type": "integer"
                },
                "inactive": {
                    "description": "Flag indicating if user was deactivated by admin of the workspace",
                    "type": "boolean"
                },
                "invitation_code": {
                    "description": "internal",
                    "type": "string"
                },
                "invite_url": {
                    "description": "internal",
                    "type": "string"
                },
                "is_direct": {
                    "description": "Flag indicating if user is a direct member of the workspace (is not assigned to the workspace using the group)",
                    "type": "boolean"
                },
                "labour_cost": {
                    "description": "Labour cost assigned to the user",
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the user",
                    "type": "string"
                },
                "organization_admin": {
                    "description": "Flag indicating if user is admin inside organization",
                    "type": "boolean"
                },
                "rate": {
                    "description": "Rate assigned to the user",
                    "type": "number"
                },
                "rate_last_updated": {
                    "description": "Timestamp of the last rate update",
                    "type": "string"
                },
                "role": {
                    "description": "Role of the user",
                    "type": "string"
                },
                "timezone": {
                    "description": "Timezone of the user",
                    "type": "string"
                },
                "user_id": {
                    "description": "Global user identifier",
                    "type": "integer"
                },
                "working_hours_in_minutes": {
                    "description": "Working hours value in minutes",
                    "type": "integer"
                },
                "workspace_admin": {
                    "description": "Flag indicating if user is admin inside workspace",
                    "type": "boolean"
                },
                "workspace_id": {
                    "description": "Workspace identifier",
                    "type": "integer"
                }
            }
        },
        "models.PaymentDetail": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "customer_id": {
                    "type": "integer"
                },
                "payment_type": {
                    "type": "string"
                },
                "reference": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "models.PaymentInfo": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "models.PaymentRecord": {
            "type": "object",
            "properties": {
                "creation_date": {
                    "type": "string",
                    "format": "date-time"
                },
                "currency": {
                    "description": "DEPRECATED",
                    "type": "string"
                },
                "currency_id": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "initial_id": {
                    "type": "integer"
                },
                "record_type": {
                    "type": "string"
                },
                "total_amount": {
                    "type": "integer"
                },
                "uid": {
                    "type": "string"
                }
            }
        },
        "models.Period": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "finished_on": {
                    "type": "string"
                },
                "started_on": {
                    "type": "string"
                },
                "subscription_id": {
                    "type": "integer"
                },
                "subscription_period_id": {
                    "type": "integer"
                },
                "trial": {
                    "type": "boolean"
                },
                "user_count": {
                    "type": "integer"
                }
            }
        },
        "models.PlainGoal": {
            "type": "object",
            "properties": {
                "archived": {
                    "type": "boolean"
                },
                "archived_at": {
                    "type": "string"
                },
                "cadence_period": {
                    "type": "string"
                },
                "comparing": {
                    "type": "string"
                },
                "current_cadence": {
                    "type": "object",
                    "$ref": "#/definitions/models.GoalCadence"
                },
                "description": {
                    "type": "string"
                },
                "end": {
                    "type": "string"
                },
                "goal_id": {
                    "type": "integer"
                },
                "goal_parameter_id": {
                    "type": "integer"
                },
                "goal_type": {
                    "type": "object",
                    "$ref": "#/definitions/models.GoalType"
                },
                "icon": {
                    "type": "integer"
                },
                "icon_color": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "start": {
                    "type": "string"
                },
                "target_value": {
                    "type": "integer"
                },
                "type_name": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.Plan": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "max_user_count": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "pricing_plans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.PricingPlan"
                    }
                },
                "product_handle": {
                    "type": "string"
                }
            }
        },
        "models.PlanChangeFeedback": {
            "type": "object",
            "properties": {
                "comment": {
                    "type": "string"
                },
                "master_signup": {
                    "type": "boolean"
                },
                "selections": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "models.PostPayload": {
            "type": "object",
            "properties": {
                "name": {
                    "description": "Name of the organization",
                    "type": "string"
                },
                "workspace_name": {
                    "description": "Name of the workspace",
                    "type": "string"
                }
            }
        },
        "models.PricingPlan": {
            "type": "object",
            "properties": {
                "amount_in_cents": {
                    "type": "integer"
                },
                "currency": {
                    "type": "string"
                },
                "period": {
                    "type": "integer"
                },
                "plan": {
                    "type": "object",
                    "$ref": "#/definitions/models.Plan"
                },
                "plan_id": {
                    "type": "integer"
                },
                "price_point_handle": {
                    "type": "string"
                },
                "pricing_plan_id": {
                    "type": "integer"
                }
            }
        },
        "models.Project": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Whether the project is active or archived",
                    "type": "boolean"
                },
                "actual_hours": {
                    "description": "Actual hours",
                    "type": "integer",
                    "x-nullable": true
                },
                "actual_seconds": {
                    "description": "Actual seconds",
                    "type": "integer",
                    "x-nullable": true
                },
                "at": {
                    "description": "Last updated date",
                    "type": "string"
                },
                "auto_estimates": {
                    "description": "Whether estimates are based on task hours, premium feature",
                    "type": "boolean",
                    "x-nullable": true
                },
                "billable": {
                    "description": "Whether the project is billable, premium feature",
                    "type": "boolean",
                    "x-nullable": true
                },
                "cid": {
                    "description": "Client ID legacy field",
                    "type": "integer"
                },
                "client_id": {
                    "description": "Client ID",
                    "type": "integer",
                    "x-nullable": true
                },
                "color": {
                    "description": "Color",
                    "type": "string"
                },
                "created_at": {
                    "description": "Creation date",
                    "type": "string"
                },
                "currency": {
                    "description": "Currency, premium feature",
                    "type": "string",
                    "x-nullable": true
                },
                "current_period": {
                    "description": "Current project period, premium feature",
                    "type": "object",
                    "$ref": "#/definitions/models.RecurringPeriod"
                },
                "end_date": {
                    "description": "End date",
                    "type": "string"
                },
                "estimated_hours": {
                    "description": "Estimated hours",
                    "type": "integer",
                    "x-nullable": true
                },
                "estimated_seconds": {
                    "description": "Estimated seconds",
                    "type": "integer",
                    "x-nullable": true
                },
                "fixed_fee": {
                    "description": "Fixed fee, premium feature",
                    "type": "number"
                },
                "guid": {
                    "description": "GUID",
                    "type": "string"
                },
                "id": {
                    "description": "Project ID",
                    "type": "integer"
                },
                "is_private": {
                    "description": "Whether the project is private",
                    "type": "boolean"
                },
                "name": {
                    "description": "Name",
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "rate": {
                    "description": "Hourly rate",
                    "type": "number"
                },
                "rate_last_updated": {
                    "description": "Last date for rate change",
                    "type": "string",
                    "x-nullable": true
                },
                "recurring": {
                    "description": "Whether the project is recurring, premium feature",
                    "type": "boolean"
                },
                "recurring_parameters": {
                    "description": "Project recurring parameters, premium feature",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.RecurringProjectParameters"
                    }
                },
                "server_deleted_at": {
                    "description": "Deletion date",
                    "type": "string",
                    "x-nullable": true
                },
                "start_date": {
                    "description": "Start date",
                    "type": "string"
                },
                "status": {
                    "description": "Status of the project (upcoming, active, ended, archived, deleted)",
                    "type": "string"
                },
                "template": {
                    "description": "Whether the project is used as template, premium feature",
                    "type": "boolean",
                    "x-nullable": true
                },
                "template_id": {
                    "description": "Template ID",
                    "type": "integer",
                    "x-nullable": true
                },
                "wid": {
                    "description": "Workspace ID legacy field",
                    "type": "integer"
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "models.ProjectGroup": {
            "type": "object",
            "properties": {
                "group_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "pid": {
                    "type": "integer"
                },
                "wid": {
                    "type": "integer"
                }
            }
        },
        "models.ProjectStatistics": {
            "type": "object",
            "properties": {
                "earliest_time_entry": {
                    "type": "string"
                },
                "latest_time_entry": {
                    "type": "string"
                }
            }
        },
        "models.ProjectUser": {
            "type": "object",
            "properties": {
                "at": {
                    "description": "When was last modified",
                    "type": "string"
                },
                "gid": {
                    "description": "Group ID, legacy field",
                    "type": "integer"
                },
                "group_id": {
                    "description": "Group ID",
                    "type": "integer"
                },
                "id": {
                    "description": "Project User ID",
                    "type": "integer"
                },
                "labour_cost": {
                    "description": "Labour cost for this project user",
                    "type": "integer"
                },
                "manager": {
                    "description": "Whether the user is manager of the project",
                    "type": "boolean"
                },
                "project_id": {
                    "description": "Project ID",
                    "type": "integer"
                },
                "rate": {
                    "description": "Custom rate for project user",
                    "type": "number",
                    "x-nullable": true
                },
                "rate_last_updated": {
                    "description": "Date for rate last updated",
                    "type": "string"
                },
                "user_id": {
                    "description": "User ID",
                    "type": "integer"
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "models.PutPayload": {
            "type": "object",
            "properties": {
                "name": {
                    "description": "Name of the organization",
                    "type": "string"
                }
            }
        },
        "models.RecurringPeriod": {
            "type": "object",
            "properties": {
                "end_date": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                }
            }
        },
        "models.RecurringProjectParameters": {
            "type": "object",
            "properties": {
                "custom_period": {
                    "description": "Custom period, used when \"period\" field is \"custom\"",
                    "type": "integer"
                },
                "estimated_seconds": {
                    "description": "Estimated seconds",
                    "type": "integer"
                },
                "parameter_end_date": {
                    "description": "Recurring end date",
                    "type": "string",
                    "x-nullable": true
                },
                "parameter_start_date": {
                    "description": "Recurring start date",
                    "type": "string"
                },
                "period": {
                    "description": "Period",
                    "type": "string"
                },
                "project_start_date": {
                    "description": "Project start date",
                    "type": "string"
                }
            }
        },
        "models.SSOConfig": {
            "type": "object",
            "properties": {
                "certificate": {
                    "type": "string"
                },
                "domain": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "entity_id": {
                    "type": "string"
                },
                "metadata_url": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "sso_url": {
                    "type": "string"
                }
            }
        },
        "models.SSOInvitation": {
            "type": "object",
            "properties": {
                "accounts_signup_url": {
                    "description": "AccountsSignupURL is a legacy field, should be removed one more after\nthis issue gets done https://github.com/toggl/accounts-fe/issues/704",
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "sender_email": {
                    "type": "string"
                },
                "sender_name": {
                    "type": "string"
                },
                "sso": {
                    "type": "boolean"
                },
                "token": {
                    "type": "string"
                }
            }
        },
        "models.SavedReport": {
            "type": "object",
            "properties": {
                "deleted_at": {
                    "type": "string"
                },
                "fixed_daterange": {
                    "type": "boolean"
                },
                "id": {
                    "type": "integer"
                },
                "isNAResource": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "params": {
                    "type": "string"
                },
                "public": {
                    "type": "boolean"
                },
                "scheduled_email_gids": {
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "scheduled_email_uids": {
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "token": {
                    "type": "string"
                },
                "uid": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                },
                "updated_by": {
                    "type": "integer"
                }
            }
        },
        "models.ScheduledReport": {
            "type": "object",
            "properties": {
                "bookmark_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "creator_id": {
                    "type": "integer"
                },
                "deleted_at": {
                    "type": "string"
                },
                "frequency": {
                    "type": "integer"
                },
                "group_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "report_id": {
                    "type": "integer"
                },
                "user_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.SimpleWorkspaceUser": {
            "type": "object",
            "properties": {
                "email": {
                    "description": "Email of the user",
                    "type": "string"
                },
                "fullname": {
                    "description": "Name of the user",
                    "type": "string"
                },
                "id": {
                    "description": "Global user identifier",
                    "type": "integer"
                },
                "inactive": {
                    "description": "internal",
                    "type": "boolean"
                },
                "is_active": {
                    "description": "internal",
                    "type": "boolean"
                },
                "is_admin": {
                    "description": "Flag indicating if user is admin",
                    "type": "boolean"
                },
                "role": {
                    "description": "Role of the user",
                    "type": "string"
                }
            }
        },
        "models.Statistics": {
            "type": "object",
            "properties": {
                "admins": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.UserData"
                    }
                },
                "groups_count": {
                    "type": "integer"
                },
                "members_count": {
                    "type": "integer"
                }
            }
        },
        "models.Subdivision": {
            "type": "object",
            "properties": {
                "company_id": {
                    "type": "integer"
                },
                "country_id": {
                    "type": "integer"
                },
                "country_subdivision_id": {
                    "type": "integer"
                },
                "iso_code": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "models.Subscription": {
            "type": "object",
            "properties": {
                "auto_renew": {
                    "type": "boolean"
                },
                "card_details": {
                    "type": "object",
                    "$ref": "#/definitions/models.CardDetails"
                },
                "company_id": {
                    "type": "integer"
                },
                "contact_detail": {
                    "type": "object",
                    "$ref": "#/definitions/models.ContactDetail"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "currency": {
                    "type": "string"
                },
                "customer_id": {
                    "type": "integer"
                },
                "deleted_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "last_pricing_plan_id": {
                    "type": "integer"
                },
                "organization_id": {
                    "type": "integer"
                },
                "payment_details": {
                    "type": "object",
                    "$ref": "#/definitions/models.PaymentDetail"
                },
                "pricing_plan_id": {
                    "type": "integer"
                },
                "renewal_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "subscription_id": {
                    "type": "integer"
                },
                "subscription_period": {
                    "type": "object",
                    "$ref": "#/definitions/models.Period"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.Suggestion": {
            "type": "object",
            "properties": {
                "accuracy": {
                    "type": "number"
                },
                "billable": {
                    "type": "boolean"
                },
                "description_match": {
                    "type": "boolean"
                },
                "last_seen": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                },
                "tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "task_id": {
                    "type": "integer"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.Tag": {
            "type": "object",
            "properties": {
                "at": {
                    "description": "When was created/last modified",
                    "type": "string"
                },
                "creator_id": {
                    "description": "CreatorID the user who created the tag",
                    "type": "integer"
                },
                "deleted_at": {
                    "description": "When was deleted",
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "description": "Tag ID",
                    "type": "integer"
                },
                "name": {
                    "description": "Tag name",
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "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"
                },
                "estimated_seconds": {
                    "description": "Estimation time for this task in seconds",
                    "type": "integer",
                    "x-nullable": true
                },
                "id": {
                    "description": "Task ID",
                    "type": "integer"
                },
                "name": {
                    "description": "Task Name",
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "project_id": {
                    "description": "Project ID",
                    "type": "integer"
                },
                "recurring": {
                    "description": "Whether this is a recurring task",
                    "type": "boolean"
                },
                "server_deleted_at": {
                    "description": "When the task was deleted",
                    "type": "string",
                    "x-nullable": true
                },
                "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
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "models.TimeEntry": {
            "type": "object",
            "properties": {
                "at": {
                    "description": "When was last updated",
                    "type": "string"
                },
                "billable": {
                    "description": "Whether the time entry is marked as billable",
                    "type": "boolean"
                },
                "client_name": {
                    "description": "Related entities meta fields - if requested",
                    "type": "string"
                },
                "description": {
                    "description": "Time Entry description, null if not provided at creation/update",
                    "type": "string",
                    "x-nullable": true
                },
                "duration": {
                    "description": "Time entry duration. For running entries should be negative, preferable -1",
                    "type": "integer"
                },
                "duronly": {
                    "description": "Used to create a TE with a duration but without a stop time, this field is deprecated for GET endpoints where the value will always be true.",
                    "type": "boolean"
                },
                "id": {
                    "description": "Time Entry ID",
                    "type": "integer"
                },
                "permissions": {
                    "description": "Permission list",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "pid": {
                    "description": "Project ID, legacy field",
                    "type": "integer"
                },
                "project_active": {
                    "type": "boolean"
                },
                "project_color": {
                    "type": "string"
                },
                "project_id": {
                    "description": "Project ID. Can be null if project was not provided or project was later deleted",
                    "type": "integer",
                    "x-nullable": true
                },
                "project_name": {
                    "type": "string"
                },
                "server_deleted_at": {
                    "description": "When was deleted, null if not deleted",
                    "type": "string",
                    "x-nullable": true
                },
                "shared_with": {
                    "description": "Indicates who the time entry has been shared with",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.TimeEntrySharedWith"
                    }
                },
                "start": {
                    "description": "Start time in UTC",
                    "type": "string"
                },
                "stop": {
                    "description": "Stop time in UTC, can be null if it's still running or created with \"duration\" and \"duronly\" fields",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "Tag IDs, null if tags were not provided or were later deleted",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "tags": {
                    "description": "Tag names, null if tags were not provided or were later deleted",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "task_id": {
                    "description": "Task ID. Can be null if task was not provided or project was later deleted",
                    "type": "integer",
                    "x-nullable": true
                },
                "task_name": {
                    "type": "string"
                },
                "tid": {
                    "description": "Task ID, legacy field",
                    "type": "integer"
                },
                "uid": {
                    "description": "Time Entry creator ID, legacy field",
                    "type": "integer"
                },
                "user_id": {
                    "description": "Time Entry creator ID",
                    "type": "integer"
                },
                "wid": {
                    "description": "Workspace ID, legacy field",
                    "type": "integer"
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "models.TimeEntryConstraints": {
            "type": "object",
            "properties": {
                "description_present": {
                    "type": "boolean"
                },
                "project_present": {
                    "type": "boolean"
                },
                "tag_present": {
                    "type": "boolean"
                },
                "task_present": {
                    "type": "boolean"
                },
                "time_entry_constraints_enabled": {
                    "type": "boolean"
                }
            }
        },
        "models.TimeEntryNotes": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "Time Entry ID",
                    "type": "integer"
                },
                "notes": {
                    "description": "Notes",
                    "type": "string"
                }
            }
        },
        "models.TimeEntrySharedWith": {
            "type": "object",
            "properties": {
                "accepted": {
                    "type": "boolean"
                },
                "user_id": {
                    "type": "integer"
                },
                "user_name": {
                    "type": "string"
                }
            }
        },
        "models.TimelineEvent": {
            "type": "object",
            "properties": {
                "desktop_id": {
                    "type": "string"
                },
                "end_time": {
                    "type": "integer"
                },
                "filename": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "idle": {
                    "type": "boolean"
                },
                "start_time": {
                    "type": "integer"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "models.TimelineSettings": {
            "type": "object",
            "properties": {
                "record_timeline": {
                    "type": "boolean"
                }
            }
        },
        "models.Timesheet": {
            "type": "object",
            "properties": {
                "approvedOrRejectedAt": {
                    "type": "string"
                },
                "approvedOrRejectedID": {
                    "type": "integer"
                },
                "approvedOrRejectedName": {
                    "type": "string"
                },
                "approverID": {
                    "type": "integer"
                },
                "approverName": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "deletedAt": {
                    "type": "string"
                },
                "endDate": {
                    "type": "string"
                },
                "memberID": {
                    "type": "integer"
                },
                "memberName": {
                    "type": "string"
                },
                "periodEditable": {
                    "type": "boolean"
                },
                "periodEndDate": {
                    "type": "string"
                },
                "periodLocked": {
                    "type": "boolean"
                },
                "periodStartDate": {
                    "type": "string"
                },
                "periodicity": {
                    "type": "string"
                },
                "rejectionComment": {
                    "type": "string"
                },
                "reminderDay": {
                    "type": "string"
                },
                "reminderSentAt": {
                    "type": "string"
                },
                "reminderTime": {
                    "type": "string"
                },
                "startDate": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "submittedAt": {
                    "type": "string"
                },
                "timesheetSetupID": {
                    "type": "integer"
                },
                "timezone": {
                    "type": "string"
                },
                "updatedAt": {
                    "type": "string"
                },
                "workingHoursInMinutes": {
                    "type": "integer"
                },
                "workspaceID": {
                    "type": "integer"
                }
            }
        },
        "models.TimesheetSetupError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "models.Timezone": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "utc": {
                    "type": "string"
                }
            }
        },
        "models.TogglUser": {
            "type": "object",
            "properties": {
                "api_token": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "at": {
                    "type": "string",
                    "format": "date-time"
                },
                "beginning_of_week": {
                    "type": "integer"
                },
                "country_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "default_workspace_id": {
                    "type": "integer"
                },
                "email": {
                    "type": "string",
                    "format": "email"
                },
                "fullname": {
                    "type": "string"
                },
                "has_password": {
                    "type": "boolean"
                },
                "id": {
                    "type": "integer"
                },
                "image_url": {
                    "type": "string",
                    "example": "http://example.com"
                },
                "openid_email": {
                    "type": "string",
                    "format": "email"
                },
                "openid_enabled": {
                    "type": "boolean"
                },
                "options": {
                    "description": "will be omitted if empty",
                    "type": "object",
                    "$ref": "#/definitions/models.Options"
                },
                "timezone": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "models.TrackReminder": {
            "type": "object",
            "properties": {
                "created_at": {
                    "description": "Reminder creation time",
                    "type": "string"
                },
                "frequency": {
                    "description": "Frequency of the reminder in days, should be either 1 or 7",
                    "type": "integer"
                },
                "group_ids": {
                    "description": "Groups IDs to send the reminder to",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "reminder_id": {
                    "description": "Reminder ID",
                    "type": "integer"
                },
                "threshold": {
                    "description": "Threshold is the number of hours after which the reminder will be sent",
                    "type": "integer"
                },
                "user_ids": {
                    "description": "User IDs to send the reminder to",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "models.Transfer": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "current_owner_accepted": {
                    "type": "boolean"
                },
                "current_owner_answered_at": {
                    "type": "string"
                },
                "current_owner_id": {
                    "type": "integer"
                },
                "finished_at": {
                    "type": "string"
                },
                "new_owner_accepted": {
                    "type": "boolean"
                },
                "new_owner_answered_at": {
                    "type": "string"
                },
                "new_owner_id": {
                    "type": "integer"
                },
                "organization_id": {
                    "type": "integer"
                },
                "outcome_name": {
                    "type": "string"
                },
                "owner_transfer_id": {
                    "type": "integer"
                },
                "requester_id": {
                    "type": "integer"
                }
            }
        },
        "models.TrialInfo": {
            "type": "object",
            "properties": {
                "can_have_trial": {
                    "description": "CanHaveInitialTrial is true if neither the organization nor the owner has never had a trial before",
                    "type": "boolean"
                },
                "last_pricing_plan_id": {
                    "description": "What was the previous plan before the trial",
                    "type": "integer",
                    "x-nullable": true
                },
                "next_payment_date": {
                    "description": "When the trial payment is due",
                    "type": "string",
                    "x-nullable": true
                },
                "trial": {
                    "description": "Whether the organization's subscription is currently on trial",
                    "type": "boolean"
                },
                "trial_available": {
                    "description": "When a trial is available for this organization",
                    "type": "boolean"
                },
                "trial_end_date": {
                    "description": "When the trial ends",
                    "type": "string",
                    "x-nullable": true
                }
            }
        },
        "models.UnifiedSubscriptionInvoice": {
            "type": "object",
            "properties": {
                "creation_date": {
                    "type": "string",
                    "format": "date-time"
                },
                "currency": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "hosted_url": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "invoice_number": {
                    "type": "string"
                },
                "pdf_url": {
                    "type": "string"
                },
                "total_amount": {
                    "type": "integer"
                }
            }
        },
        "models.UnifiedSubscriptionInvoiceList": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.UnifiedSubscriptionInvoice"
                    }
                },
                "next": {
                    "type": "string"
                },
                "prev": {
                    "type": "string"
                }
            }
        },
        "models.User": {
            "type": "object",
            "properties": {
                "api_token": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "email": {
                    "type": "string",
                    "format": "email"
                },
                "fullname": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "timezone": {
                    "type": "string"
                }
            }
        },
        "models.UserData": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "models.UserInvoice": {
            "type": "object",
            "properties": {
                "billing_address": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "date": {
                    "type": "string"
                },
                "deleted_at": {
                    "type": "string"
                },
                "document_id": {
                    "type": "string"
                },
                "due_date": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.UserInvoiceItem"
                    }
                },
                "message": {
                    "type": "string"
                },
                "payment_terms": {
                    "type": "string"
                },
                "purchase_number": {
                    "type": "string"
                },
                "taxes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.UserInvoiceTax"
                    }
                },
                "updated_at": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                },
                "user_invoice_id": {
                    "type": "integer"
                },
                "workspace_address": {
                    "type": "string"
                },
                "workspace_id": {
                    "type": "integer"
                },
                "workspace_logo": {
                    "type": "string"
                }
            }
        },
        "models.UserInvoiceItem": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "number"
                },
                "description": {
                    "type": "string"
                },
                "item_id": {
                    "type": "integer"
                },
                "quantity": {
                    "type": "number"
                }
            }
        },
        "models.UserInvoiceTax": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "tax_id": {
                    "type": "integer"
                }
            }
        },
        "models.UserNotification": {
            "type": "object",
            "properties": {
                "actions": {
                    "type": "object",
                    "$ref": "#/definitions/models.Actions"
                },
                "class": {
                    "type": "integer"
                },
                "content": {
                    "type": "object",
                    "$ref": "#/definitions/i18n.Message"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "notification_type": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "integer"
                },
                "read_at": {
                    "type": "string"
                },
                "title": {
                    "type": "object",
                    "$ref": "#/definitions/i18n.Message"
                },
                "user_id": {
                    "type": "integer"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "models.WorkspacePreferences": {
            "type": "object",
            "properties": {
                "annual-master-campaign-2018": {
                    "description": "Legacy field",
                    "type": "string"
                },
                "hide_start_end_times": {
                    "description": "This workspace works with duration only time entries",
                    "type": "boolean"
                },
                "inc_tos_accepted_at": {
                    "description": "Time of acceptance of the terms of service",
                    "type": "string"
                },
                "inc_tos_accepted_by": {
                    "description": "User ID who accepted the terms of service",
                    "type": "integer"
                },
                "initial_pricing_plan": {
                    "description": "Pricing plan ID",
                    "type": "integer"
                },
                "january-2018-campaign": {
                    "description": "Legacy field",
                    "type": "boolean"
                },
                "master_signup": {
                    "description": "Legacy field",
                    "type": "boolean"
                },
                "report_locked_at": {
                    "description": "Date on which \"Lock Time Entries\" feature was enabled",
                    "type": "string"
                },
                "single_sign_on": {
                    "description": "Whether SSO is enabled for this workspace",
                    "type": "boolean"
                },
                "sso_requested_at": {
                    "description": "Date on which SSO was requested",
                    "type": "string"
                }
            }
        },
        "models.WorkspaceUser": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "admin": {
                    "type": "boolean"
                },
                "at": {
                    "type": "string"
                },
                "avatar_file_name": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "group_ids": {
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "id": {
                    "type": "integer"
                },
                "inactive": {
                    "type": "boolean"
                },
                "invitation_code": {
                    "type": "string"
                },
                "invite_url": {
                    "type": "string"
                },
                "labour_cost": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "rate": {
                    "type": "number"
                },
                "rate_last_updated": {
                    "type": "string"
                },
                "role": {
                    "type": "string"
                },
                "timezone": {
                    "type": "string"
                },
                "uid": {
                    "type": "integer"
                },
                "wid": {
                    "type": "integer"
                },
                "working_hours_in_minutes": {
                    "type": "integer"
                }
            }
        },
        "oauth.Profile": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "provider": {
                    "type": "string"
                }
            }
        },
        "organization.PostOrganizationReply": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "workspace_id": {
                    "type": "integer"
                },
                "workspace_name": {
                    "type": "string"
                }
            }
        },
        "project.PatchInput": {
            "type": "object",
            "properties": {
                "op": {
                    "description": "Patch operation to perform, one of \"add\", \"remove\", \"replace\"",
                    "type": "string"
                },
                "path": {
                    "description": "Path to the field to patch, example: \"/color\"",
                    "type": "string"
                },
                "value": {
                    "description": "Value to set when operation is \"add\" or \"replace\", example: \"#000000\". The value type actually depends on the field being patched.",
                    "type": "object"
                }
            }
        },
        "project.Payload": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Whether the project is active or archived",
                    "type": "boolean"
                },
                "auto_estimates": {
                    "description": "Whether estimates are based on task hours, optional, premium feature",
                    "type": "boolean"
                },
                "billable": {
                    "description": "Whether the project is set as billable, optional, premium feature",
                    "type": "boolean"
                },
                "cid": {
                    "description": "Client ID, legacy",
                    "type": "integer"
                },
                "client_id": {
                    "description": "Client ID, optional",
                    "type": "integer"
                },
                "client_name": {
                    "description": "Client name, optional",
                    "type": "string"
                },
                "color": {
                    "description": "Project color",
                    "type": "string"
                },
                "currency": {
                    "description": "Project currency, optional, premium feature",
                    "type": "string"
                },
                "end_date": {
                    "description": "End date of a project timeframe",
                    "type": "string"
                },
                "estimated_hours": {
                    "description": "Estimated hours, optional, premium feature",
                    "type": "integer"
                },
                "fixed_fee": {
                    "description": "Project fixed fee, optional, premium feature",
                    "type": "number"
                },
                "is_private": {
                    "description": "Whether the project is private or not",
                    "type": "boolean"
                },
                "name": {
                    "description": "Project name",
                    "type": "string"
                },
                "rate": {
                    "description": "Hourly rate, optional, premium feature",
                    "type": "number"
                },
                "rate_change_mode": {
                    "description": "Rate change mode, optional, premium feature. Can be \"start-today\", \"override-current\", \"override-all\"",
                    "type": "string"
                },
                "recurring": {
                    "description": "Project is recurring, optional, premium feature",
                    "type": "boolean"
                },
                "recurring_parameters": {
                    "description": "Project recurring parameters, optional, premium feature",
                    "type": "object",
                    "$ref": "#/definitions/project.RecurringParameters"
                },
                "start_date": {
                    "description": "Start date of a project timeframe",
                    "type": "string"
                },
                "template": {
                    "description": "Project is template, optional, premium feature",
                    "type": "boolean"
                },
                "template_id": {
                    "description": "Template ID, optional",
                    "type": "integer"
                }
            }
        },
        "project.RecurringParameters": {
            "type": "object",
            "properties": {
                "custom_period": {
                    "description": "Recurring custom period, the \"period\" field must be \"custom\"",
                    "type": "integer"
                },
                "period": {
                    "description": "Recurring period, example \"monthly\"",
                    "type": "string"
                },
                "project_start_date": {
                    "description": "Recurring start date",
                    "type": "string"
                }
            }
        },
        "project.RestoreParams": {
            "type": "object",
            "properties": {
                "projects": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "restore_all_projects": {
                    "type": "boolean"
                }
            }
        },
        "projects.PatchFailure": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "projects.PatchOutput": {
            "type": "object",
            "properties": {
                "failure": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/projects.PatchFailure"
                    }
                },
                "success": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "projects.Payload": {
            "type": "object",
            "properties": {
                "project_ids": {
                    "type": "array",
                    "items": {
                        "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"
                    }
                },
                "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": {
                    "type": "object",
                    "$ref": "#/definitions/projects.reportGraph"
                },
                "table": {
                    "type": "object",
                    "$ref": "#/definitions/projects.ReportTable"
                }
            }
        },
        "projects.ReportTable": {
            "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": {
                    "type": "object",
                    "$ref": "#/definitions/projects.dataTrendsGraph"
                }
            }
        },
        "projects.graphArray": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/projects.graphItem"
            }
        },
        "projects.graphItem": {
            "type": "object",
            "properties": {
                "date": {
                    "type": "string"
                },
                "earnings": {
                    "type": "integer"
                },
                "labour_cost": {
                    "type": "integer"
                }
            }
        },
        "projects.patchPost": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/project.PatchInput"
            }
        },
        "projects.projectResponse": {
            "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"
                }
            }
        },
        "projects.projectsPost": {
            "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"
                }
            }
        },
        "projects.reportGraph": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "$ref": "#/definitions/projects.graphArray"
                },
                "resolution": {
                    "type": "string"
                }
            }
        },
        "purchaseorders.payload": {
            "type": "object",
            "required": [
                "user_count"
            ],
            "properties": {
                "user_count": {
                    "type": "integer",
                    "minimum": 1
                }
            }
        },
        "push.deletePushServicesUnsubscribe": {
            "type": "object",
            "properties": {
                "fcm_registration_token": {
                    "type": "string"
                }
            }
        },
        "push.postPushServicesSubscribe": {
            "type": "object",
            "properties": {
                "fcm_registration_token": {
                    "type": "string"
                }
            }
        },
        "related.UserWithRelated": {
            "type": "object",
            "properties": {
                "api_token": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "at": {
                    "type": "string",
                    "format": "date-time"
                },
                "beginning_of_week": {
                    "type": "integer"
                },
                "clients": {
                    "description": "Clients, null if with_related_data was not set to true or if the user does not have any clients",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Client"
                    }
                },
                "country_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "default_workspace_id": {
                    "type": "integer"
                },
                "email": {
                    "type": "string",
                    "format": "email"
                },
                "fullname": {
                    "type": "string"
                },
                "has_password": {
                    "type": "boolean"
                },
                "id": {
                    "type": "integer"
                },
                "image_url": {
                    "type": "string",
                    "example": "http://example.com"
                },
                "intercom_hash": {
                    "description": "will be omitted if empty",
                    "type": "string"
                },
                "oauth_providers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "openid_email": {
                    "type": "string",
                    "format": "email"
                },
                "openid_enabled": {
                    "type": "boolean"
                },
                "options": {
                    "description": "will be omitted if empty",
                    "type": "object",
                    "$ref": "#/definitions/models.Options"
                },
                "projects": {
                    "description": "Projects, null if with_related_data was not set to true or if the user does not have any projects",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Project"
                    }
                },
                "tags": {
                    "description": "Tags, null if with_related_data was not set to true, or if the user does not have any tags",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Tag"
                    }
                },
                "tasks": {
                    "description": "Tasks, null if with_related_data was not set to true or if the user does not have any tasks",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Task"
                    }
                },
                "time_entries": {
                    "description": "TimeEntries, null if with_related_data was not set to true or if the user does not have any time entries",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.TimeEntry"
                    }
                },
                "timezone": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "workspaces": {
                    "description": "Workspaces, null if with_related_data was not set to true or if the user does not have any workspaces",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/workspace.Workspace"
                    }
                }
            }
        },
        "reminders.Payload": {
            "type": "object",
            "properties": {
                "frequency": {
                    "description": "Frequency of the reminder in days, should be either 1 or 7",
                    "type": "integer"
                },
                "group_ids": {
                    "description": "Group IDs to send the reminder to, can be omitted if user_ids is provided",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "threshold": {
                    "description": "Threshold is the number of hours after which the reminder will be sent",
                    "type": "number"
                },
                "user_ids": {
                    "description": "User IDs to send the reminder to, can be omitted if group_ids is provided",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "reminders.payload": {
            "type": "object",
            "properties": {
                "frequency": {
                    "description": "Frequency of the reminder in days, should be either 1 or 7",
                    "type": "integer"
                },
                "group_ids": {
                    "description": "Group IDs to send the reminder to, can be omitted if user_ids is provided",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "threshold": {
                    "description": "Threshold is the number of hours after which the reminder will be sent",
                    "type": "number"
                },
                "user_ids": {
                    "description": "User IDs to send the reminder to, can be omitted if group_ids is provided",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "requests.EmployeeProfitability": {
            "type": "object",
            "required": [
                "currency"
            ],
            "properties": {
                "currency": {
                    "type": "string"
                },
                "end_date": {
                    "type": "string"
                },
                "group_ids": {
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "resolution": {
                    "type": "string"
                },
                "rounding": {
                    "type": "integer"
                },
                "rounding_minutes": {
                    "type": "integer"
                },
                "start_date": {
                    "type": "string"
                },
                "user_ids": {
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                }
            }
        },
        "requests.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"
                },
                "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"
                }
            }
        },
        "saml2.LoginResponse": {
            "type": "object",
            "properties": {
                "sso_url": {
                    "type": "string"
                }
            }
        },
        "saved.DetailedReportData": {
            "type": "object",
            "properties": {
                "report": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/detailed.GroupedTimeEntry"
                    }
                },
                "totals": {
                    "type": "object",
                    "$ref": "#/definitions/totals.ReportData"
                }
            }
        },
        "saved.ExecuteReportOutput": {
            "type": "object",
            "properties": {
                "detailed_results": {
                    "type": "object",
                    "$ref": "#/definitions/saved.DetailedReportData"
                },
                "dictionaries": {
                    "type": "object",
                    "$ref": "#/definitions/saved.ReportDictionaries"
                },
                "features": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "boolean"
                    }
                },
                "fixed_daterange": {
                    "type": "boolean"
                },
                "hide_amounts": {
                    "type": "boolean"
                },
                "input_params": {
                    "type": "object",
                    "additionalProperties": true
                },
                "public": {
                    "type": "boolean"
                },
                "report_name": {
                    "type": "string"
                },
                "report_type": {
                    "type": "string",
                    "example": "weekly"
                },
                "saved_params": {
                    "type": "object",
                    "additionalProperties": true
                },
                "summary_results": {
                    "type": "object",
                    "$ref": "#/definitions/saved.SummaryReportData"
                },
                "weekly_results": {
                    "type": "object",
                    "$ref": "#/definitions/saved.WeeklyReportData"
                },
                "workspace_logo": {
                    "type": "string"
                }
            }
        },
        "saved.GeneralDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/saved.ReportDict"
            }
        },
        "saved.ListParams": {
            "type": "object",
            "properties": {
                "fixed_dates": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "page": {
                    "type": "integer"
                },
                "per_page": {
                    "type": "integer"
                },
                "public": {
                    "type": "boolean"
                },
                "scheduled": {
                    "type": "boolean"
                },
                "sort_direction": {
                    "type": "string"
                },
                "sort_field": {
                    "type": "string"
                }
            }
        },
        "saved.Payload": {
            "type": "object",
            "properties": {
                "fixed_daterange": {
                    "type": "boolean"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "params": {
                    "type": "object",
                    "additionalProperties": true
                },
                "public": {
                    "type": "boolean"
                },
                "regenerate_token": {
                    "type": "boolean"
                }
            }
        },
        "saved.ProjectDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/saved.ProjectUserDict"
            }
        },
        "saved.ProjectUserDict": {
            "type": "object",
            "properties": {
                "actual_hours": {
                    "type": "integer"
                },
                "actual_seconds": {
                    "type": "integer"
                },
                "client_id": {
                    "type": "integer"
                },
                "color": {
                    "type": "string"
                },
                "estimated_hours": {
                    "type": "integer"
                },
                "estimated_seconds": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "saved.ReportDict": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "saved.ReportDictionaries": {
            "type": "object",
            "properties": {
                "clients": {
                    "type": "object",
                    "$ref": "#/definitions/saved.GeneralDictionary"
                },
                "filters": {
                    "description": "Remove it after FlexQ release.",
                    "type": "object",
                    "$ref": "#/definitions/saved.ReportDictionariesData"
                },
                "projects": {
                    "type": "object",
                    "$ref": "#/definitions/saved.ProjectDictionary"
                },
                "tags": {
                    "type": "object",
                    "$ref": "#/definitions/saved.GeneralDictionary"
                },
                "tasks": {
                    "type": "object",
                    "$ref": "#/definitions/saved.TaskDictionary"
                },
                "user_groups": {
                    "type": "object",
                    "$ref": "#/definitions/saved.GeneralDictionary"
                },
                "users": {
                    "type": "object",
                    "$ref": "#/definitions/saved.UserDictionary"
                }
            }
        },
        "saved.ReportDictionariesData": {
            "type": "object",
            "properties": {
                "clients": {
                    "type": "object",
                    "$ref": "#/definitions/saved.GeneralDictionary"
                },
                "projects": {
                    "type": "object",
                    "$ref": "#/definitions/saved.ProjectDictionary"
                },
                "tags": {
                    "type": "object",
                    "$ref": "#/definitions/saved.GeneralDictionary"
                },
                "tasks": {
                    "type": "object",
                    "$ref": "#/definitions/saved.TaskDictionary"
                },
                "user_groups": {
                    "type": "object",
                    "$ref": "#/definitions/saved.GeneralDictionary"
                },
                "users": {
                    "type": "object",
                    "$ref": "#/definitions/saved.UserDictionary"
                }
            }
        },
        "saved.ReportUserDict": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "group_ids": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "saved.SummaryReportData": {
            "type": "object",
            "properties": {
                "report": {
                    "type": "object",
                    "$ref": "#/definitions/summary.ReportData"
                },
                "totals": {
                    "type": "object",
                    "$ref": "#/definitions/totals.ReportData"
                }
            }
        },
        "saved.TaskDict": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "integer"
                }
            }
        },
        "saved.TaskDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/saved.TaskDict"
            }
        },
        "saved.UserDictionary": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/saved.ReportUserDict"
            }
        },
        "saved.WeeklyReportData": {
            "type": "object",
            "properties": {
                "report": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/weekly.DataRow"
                    }
                },
                "totals": {
                    "type": "object",
                    "$ref": "#/definitions/totals.ReportData"
                }
            }
        },
        "scheduled.payload": {
            "type": "object",
            "properties": {
                "bookmark_id": {
                    "type": "integer"
                },
                "frequency": {
                    "type": "integer"
                },
                "group_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "user_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "shared.bulkDeleteInputData": {
            "type": "object",
            "properties": {
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "smail.ContactPayload": {
            "type": "object",
            "properties": {
                "Email": {
                    "type": "string"
                },
                "Message": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            }
        },
        "smail.DemoPayload": {
            "type": "object",
            "properties": {
                "Email": {
                    "type": "string"
                },
                "FirstName": {
                    "type": "string"
                },
                "LastName": {
                    "type": "string"
                },
                "Phone": {
                    "type": "string"
                },
                "Purpose": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                },
                "TeamSize": {
                    "type": "string"
                }
            }
        },
        "smail.MeetPayload": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                }
            }
        },
        "sso.ConfigResult": {
            "type": "object",
            "properties": {
                "config": {
                    "type": "object",
                    "$ref": "#/definitions/models.SSOConfig"
                },
                "sp_settings": {
                    "type": "object",
                    "$ref": "#/definitions/sso.SPSettings"
                }
            }
        },
        "sso.Confirmation": {
            "type": "object",
            "properties": {
                "confirmation_code": {
                    "type": "string"
                }
            }
        },
        "sso.SPSettings": {
            "type": "object",
            "properties": {
                "acs_url": {
                    "type": "string"
                },
                "entity_id": {
                    "type": "string"
                }
            }
        },
        "sso.State": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean"
                }
            }
        },
        "status.ProjectStatus": {
            "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"
                }
            }
        },
        "status.statusPost": {
            "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"
                    }
                }
            }
        },
        "subscription.CalculatedData": {
            "type": "object",
            "properties": {
                "calculation": {
                    "type": "string"
                },
                "currency": {
                    "type": "string"
                },
                "period": {
                    "type": "integer"
                },
                "tax_percentage": {
                    "type": "integer"
                },
                "total_amount": {
                    "type": "integer"
                }
            }
        },
        "subscription.ContactDetailRequest": {
            "type": "object",
            "required": [
                "company_address",
                "company_name",
                "contact_email",
                "country_id"
            ],
            "properties": {
                "company_address": {
                    "type": "string"
                },
                "company_city": {
                    "type": "string"
                },
                "company_name": {
                    "type": "string"
                },
                "contact_email": {
                    "type": "string"
                },
                "contact_person": {
                    "type": "string"
                },
                "country_id": {
                    "type": "integer"
                },
                "country_subdivision_id": {
                    "description": "CountrySubdivisionID is the ID of the country subdivision (state in USA)\nThis field is required if country_id == 235 (United states)",
                    "type": "integer"
                },
                "subDivision": {
                    "type": "object",
                    "$ref": "#/definitions/models.Subdivision"
                },
                "tax_number": {
                    "type": "string"
                },
                "zip_code": {
                    "description": "ZIPCode field is required if country_id == 235 (United states)",
                    "type": "string"
                }
            }
        },
        "subscription.FeatureReturn": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "subscription.OutData": {
            "type": "object",
            "properties": {
                "auto_renew": {
                    "type": "boolean"
                },
                "billing_period_in_months": {
                    "type": "integer"
                },
                "campaign_available": {
                    "type": "boolean"
                },
                "cancel_date": {
                    "type": "string"
                },
                "card_details": {
                    "type": "object",
                    "$ref": "#/definitions/models.CardDetails"
                },
                "company_id": {
                    "type": "integer"
                },
                "contact_details": {
                    "type": "object",
                    "$ref": "#/definitions/models.ContactDetail"
                },
                "currency": {
                    "type": "string"
                },
                "current_period_ends_at": {
                    "type": "string"
                },
                "current_period_starts_at": {
                    "type": "string"
                },
                "customer_id": {
                    "type": "integer"
                },
                "end_date": {
                    "description": "Deprecated: this field will be replaced by CurrentPeriodEndsAt",
                    "type": "string"
                },
                "enterprise": {
                    "type": "boolean"
                },
                "is_subscription_beta": {
                    "description": "temporary flag which is true iff there is at least one admin in the organization,\nwho has the `multi_workspace_payments` beta flag enabled",
                    "type": "boolean"
                },
                "is_unified": {
                    "type": "boolean"
                },
                "last_invoice": {
                    "type": "object",
                    "$ref": "#/definitions/subscription.invoiceInfo"
                },
                "last_payment": {
                    "type": "object",
                    "$ref": "#/definitions/models.PaymentInfo"
                },
                "last_pricing_plan_id": {
                    "type": "integer"
                },
                "new_signup_trial": {
                    "type": "boolean"
                },
                "next_payment_date": {
                    "type": "string"
                },
                "payment_method": {
                    "type": "string"
                },
                "plan_name": {
                    "type": "string"
                },
                "pricing_plan_id": {
                    "description": "Legacy fields (kept for compatibility with FE)",
                    "type": "integer"
                },
                "renewal_at": {
                    "type": "string"
                },
                "renewal_date": {
                    "type": "string"
                },
                "seat_cost_in_cents": {
                    "type": "integer"
                },
                "seats": {
                    "type": "integer"
                },
                "site": {
                    "type": "string"
                },
                "start_date": {
                    "description": "Deprecated: this field will be replaced by CurrentPeriodStartsAt",
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "subscription_created_at": {
                    "type": "string"
                },
                "subscription_period": {
                    "type": "object",
                    "$ref": "#/definitions/models.Period"
                },
                "trial_available": {
                    "type": "boolean"
                },
                "trial_end_date": {
                    "type": "string"
                },
                "trial_start_date": {
                    "type": "string"
                }
            }
        },
        "subscription.calculateRequest": {
            "type": "object",
            "required": [
                "period",
                "pricing_plan_id",
                "user_count"
            ],
            "properties": {
                "period": {
                    "description": "Can be only 1 or 12",
                    "type": "integer"
                },
                "pricing_plan_id": {
                    "type": "integer"
                },
                "user_count": {
                    "type": "integer"
                }
            }
        },
        "subscription.createUnifiedSubsRequest": {
            "type": "object",
            "properties": {
                "pricing_plan_tag": {
                    "type": "string"
                }
            }
        },
        "subscription.invoiceInfo": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_id": {
                    "type": "integer"
                },
                "due": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "paid_at": {
                    "type": "string"
                },
                "tax_percentage": {
                    "type": "number"
                },
                "total_amount": {
                    "type": "integer"
                }
            }
        },
        "subscription.payload": {
            "type": "object",
            "required": [
                "pricing_plan_id"
            ],
            "properties": {
                "contact_details": {
                    "type": "object",
                    "$ref": "#/definitions/subscription.ContactDetailRequest"
                },
                "inc_terms_accepted": {
                    "description": "True if user accepted ToS for the Toggl Inc company. Ignored if company is not customer of Toggl INC.",
                    "type": "boolean"
                },
                "master_signup": {
                    "description": "True if user want to sign up to the Master program.",
                    "type": "boolean"
                },
                "pricing_plan_id": {
                    "description": "Numeric ID of the pricing plan.",
                    "type": "integer"
                }
            }
        },
        "subscription.updateUnifiedSubsRequest": {
            "type": "object",
            "properties": {
                "pricing_plan_tag": {
                    "type": "string"
                }
            }
        },
        "subscriptions.CheckoutSessionPayload": {
            "type": "object",
            "properties": {
                "cancel_url": {
                    "type": "string"
                },
                "country_code": {
                    "type": "string"
                },
                "country_id": {
                    "type": "integer"
                },
                "price_tag": {
                    "type": "string"
                },
                "referral": {
                    "type": "string"
                },
                "subdivision_id": {
                    "type": "integer"
                },
                "success_url": {
                    "type": "string"
                },
                "tax": {
                    "type": "string"
                },
                "zip": {
                    "type": "string"
                }
            }
        },
        "summary.Audit": {
            "type": "object",
            "properties": {
                "group_filter": {
                    "type": "object",
                    "$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": {
                    "type": "object",
                    "$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"
                    ]
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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": {
                    "type": "object",
                    "$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"
                    ]
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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.ReportData": {
            "type": "object",
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/summary.GroupData"
                    }
                }
            }
        },
        "summary.ReportPost": {
            "type": "object",
            "properties": {
                "audit": {
                    "type": "object",
                    "$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"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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"
                    }
                }
            }
        },
        "tag.Payload": {
            "type": "object",
            "properties": {
                "name": {
                    "description": "Tag name",
                    "type": "string"
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "task.PatchFailure": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "task.PatchInput": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string"
                },
                "path": {
                    "type": "string"
                },
                "value": {
                    "type": "any"
                }
            }
        },
        "task.PatchOutput": {
            "type": "object",
            "properties": {
                "failure": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/task.PatchFailure"
                    }
                },
                "success": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "task.Payload": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Use false to mark the task as done",
                    "type": "boolean"
                },
                "estimated_seconds": {
                    "description": "Task estimation in seconds",
                    "type": "integer"
                },
                "name": {
                    "description": "Name",
                    "type": "string"
                },
                "project_id": {
                    "description": "Project ID",
                    "type": "integer"
                },
                "user_id": {
                    "description": "Creator ID, if omitted will use requester user ID",
                    "type": "integer"
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "type": "integer"
                }
            }
        },
        "task.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/task.WithTotal"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "per_page": {
                    "type": "integer"
                },
                "sort_field": {
                    "type": "string"
                },
                "sort_order": {
                    "type": "string"
                },
                "total_count": {
                    "type": "integer"
                }
            }
        },
        "task.WithTotal": {
            "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"
                },
                "estimated_seconds": {
                    "description": "Estimation time for this task in seconds",
                    "type": "integer",
                    "x-nullable": true
                },
                "id": {
                    "description": "Task ID",
                    "type": "integer"
                },
                "name": {
                    "description": "Task Name",
                    "type": "string"
                },
                "permissions": {
                    "type": "string"
                },
                "project_id": {
                    "description": "Project ID",
                    "type": "integer"
                },
                "recurring": {
                    "description": "Whether this is a recurring task",
                    "type": "boolean"
                },
                "server_deleted_at": {
                    "description": "When the task was deleted",
                    "type": "string",
                    "x-nullable": true
                },
                "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
                },
                "workspace_id": {
                    "description": "Workspace ID",
                    "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"
                    }
                }
            }
        },
        "timeentries.patchPost": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/timeentry.PatchInput"
            }
        },
        "timeentry.PatchFailure": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "The ID for which the patch operation failed.",
                    "type": "integer"
                },
                "message": {
                    "description": "The operation failure reason.",
                    "type": "string"
                }
            }
        },
        "timeentry.PatchInput": {
            "type": "object",
            "properties": {
                "op": {
                    "description": "Operation (add/remove/replace)",
                    "type": "string"
                },
                "path": {
                    "description": "The path to the entity to patch (e.g. /description)",
                    "type": "string"
                },
                "value": {
                    "description": "The new value for the entity in path.",
                    "type": "object"
                }
            }
        },
        "timeentry.PatchOutput": {
            "type": "object",
            "properties": {
                "failure": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/timeentry.PatchFailure"
                    }
                },
                "success": {
                    "description": "The IDs for which the patch was succesful.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "timeentry.Payload": {
            "type": "object",
            "properties": {
                "billable": {
                    "description": "Whether the time entry is marked as billable, optional, default false",
                    "type": "boolean"
                },
                "created_with": {
                    "description": "Must be provided when creating a time entry and should identify the service/application used to create it",
                    "type": "string"
                },
                "description": {
                    "description": "Time entry description, optional",
                    "type": "string"
                },
                "duration": {
                    "description": "Time entry duration. For running entries should be negative, preferable -1",
                    "type": "integer"
                },
                "duronly": {
                    "description": "Deprecated: Used to create a time entry with a duration but without a stop time. This parameter can be ignored.",
                    "type": "boolean"
                },
                "pid": {
                    "description": "Project ID, legacy field",
                    "type": "integer"
                },
                "project_id": {
                    "description": "Project ID, optional",
                    "type": "integer"
                },
                "shared_with_user_ids": {
                    "description": "List of user IDs to share this time entry with",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "start": {
                    "description": "Start time in UTC, required for creation. Format: 2006-01-02T15:04:05Z",
                    "type": "string"
                },
                "start_date": {
                    "description": "If provided during creation, the date part will take precedence over the date part of \"start\". Format: 2006-11-07",
                    "type": "string"
                },
                "stop": {
                    "description": "Stop time in UTC, can be omitted if it's still running or created with \"duration\".\nIf \"stop\" and \"duration\" are provided, values must be consistent (start + duration == stop)",
                    "type": "string"
                },
                "tag_action": {
                    "description": "Can be \"add\" or \"delete\". Used when updating an existing time entry",
                    "type": "string"
                },
                "tag_ids": {
                    "description": "IDs of tags to add/remove",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "tags": {
                    "description": "Names of tags to add/remove. If name does not exist as tag, one will be created automatically",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "task_id": {
                    "description": "Task ID, optional",
                    "type": "integer"
                },
                "tid": {
                    "description": "Task ID, legacy field",
                    "type": "integer"
                },
                "uid": {
                    "description": "Time Entry creator ID, legacy field",
                    "type": "integer"
                },
                "user_id": {
                    "description": "Time Entry creator ID, if omitted will use the requester user ID",
                    "type": "integer"
                },
                "wid": {
                    "description": "Workspace ID, legacy field",
                    "type": "integer"
                },
                "workspace_id": {
                    "description": "Workspace ID, required",
                    "type": "integer"
                }
            }
        },
        "timesheets.APITimesheet": {
            "type": "object",
            "properties": {
                "approved_or_rejected_at": {
                    "type": "string"
                },
                "approved_or_rejected_id": {
                    "type": "integer"
                },
                "approved_or_rejected_name": {
                    "type": "string"
                },
                "approver_id": {
                    "type": "integer"
                },
                "approver_name": {
                    "type": "string"
                },
                "end_date": {
                    "type": "string"
                },
                "member_id": {
                    "type": "integer"
                },
                "member_name": {
                    "type": "string"
                },
                "period_editable": {
                    "type": "boolean"
                },
                "period_end": {
                    "type": "string"
                },
                "period_locked": {
                    "type": "boolean"
                },
                "period_start": {
                    "type": "string"
                },
                "periodicity": {
                    "type": "string"
                },
                "rejection_comment": {
                    "type": "string"
                },
                "reminder_day": {
                    "type": "string"
                },
                "reminder_sent_at": {
                    "type": "string"
                },
                "reminder_time": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "submitted_at": {
                    "type": "string"
                },
                "timesheet_setup_id": {
                    "type": "integer"
                },
                "working_hours_in_minutes": {
                    "type": "integer"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "timesheets.GetPaginatedResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/timesheets.APITimesheet"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "per_page": {
                    "type": "integer"
                },
                "total_count": {
                    "type": "integer"
                }
            }
        },
        "timesheets.TimesheetHoursResponse": {
            "type": "object",
            "properties": {
                "start_date": {
                    "type": "string"
                },
                "timesheet_setup_id": {
                    "type": "integer"
                },
                "total_seconds": {
                    "type": "integer"
                },
                "working_hours_in_minutes": {
                    "type": "integer"
                }
            }
        },
        "timesheets.postTimesheetHoursPayload": {
            "type": "object",
            "properties": {
                "start_date": {
                    "type": "string"
                },
                "timesheet_setup_id": {
                    "type": "integer"
                }
            }
        },
        "timesheets.putTimesheetPayload": {
            "type": "object",
            "properties": {
                "rejection_comment": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "timesheetsetups.APITimesheetSetup": {
            "type": "object",
            "properties": {
                "approver_id": {
                    "type": "integer"
                },
                "approver_name": {
                    "type": "string"
                },
                "end_date": {
                    "type": "string"
                },
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.TimesheetSetupError"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "member_id": {
                    "type": "integer"
                },
                "member_name": {
                    "type": "string"
                },
                "periodicity": {
                    "type": "string"
                },
                "reminder_day": {
                    "type": "string"
                },
                "reminder_time": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                },
                "workspace_id": {
                    "type": "integer"
                }
            }
        },
        "timesheetsetups.GetPaginatedResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/timesheetsetups.APITimesheetSetup"
                    }
                }
            }
        },
        "timesheetsetups.createPayload": {
            "type": "object",
            "properties": {
                "approver_id": {
                    "type": "integer"
                },
                "member_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "periodicity": {
                    "type": "string"
                },
                "reminder_day": {
                    "type": "string"
                },
                "reminder_time": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                }
            }
        },
        "timesheetsetups.updatePayload": {
            "type": "object",
            "properties": {
                "approver_id": {
                    "type": "integer"
                },
                "end_date": {
                    "type": "string"
                },
                "reminder_day": {
                    "type": "string"
                },
                "reminder_time": {
                    "type": "string"
                }
            }
        },
        "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"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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"
                }
            }
        },
        "user.AssignmentsPayload": {
            "type": "object",
            "properties": {
                "group_id": {
                    "type": "integer"
                },
                "joined": {
                    "type": "boolean"
                },
                "operation": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "user.Failure": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "Organization user ID",
                    "type": "integer"
                },
                "message": {
                    "description": "Found error message",
                    "type": "string"
                }
            }
        },
        "user.Flags": {
            "type": "object",
            "additionalProperties": true
        },
        "user.Output": {
            "type": "object",
            "properties": {
                "failure": {
                    "description": "List of found errors",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/user.Failure"
                    }
                },
                "success": {
                    "description": "List of org user IDs that were successfully patched",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "user.PatchParams": {
            "type": "object",
            "properties": {
                "delete": {
                    "description": "Organization user IDs to be deleted",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "user.Payload": {
            "type": "object",
            "properties": {
                "admin": {
                    "type": "boolean"
                },
                "inactive": {
                    "type": "boolean"
                },
                "labour_cost": {
                    "description": "Paid feature",
                    "type": "integer"
                },
                "postedFields": {
                    "description": "for explicit NULL-s, add field name here",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "rate": {
                    "description": "Paid feature",
                    "type": "number"
                },
                "rate_change_mode": {
                    "description": "Paid feature",
                    "type": "string"
                },
                "role": {
                    "description": "Allowed inputs: \"admin\", \"user\", \"projectlead\" and \"teamlead\"",
                    "type": "string"
                },
                "working_hours_in_minutes": {
                    "description": "Paid feature",
                    "type": "integer"
                }
            }
        },
        "user.PostPayload": {
            "type": "object",
            "properties": {
                "labour_cost": {
                    "description": "Labour cost for this project user",
                    "type": "integer"
                },
                "manager": {
                    "description": "Whether the user will be manager of the project",
                    "type": "boolean"
                },
                "project_id": {
                    "description": "Project ID",
                    "type": "integer"
                },
                "rate": {
                    "description": "Rate for this project user",
                    "type": "number"
                },
                "rate_change_mode": {
                    "description": "Rate change mode for this project user. Can be \"start-today\", \"override-current\", \"override-all\"",
                    "type": "string"
                },
                "use_last_labour_cost": {
                    "description": "Whether the last labour cost should be applied or not, default false",
                    "type": "boolean"
                },
                "user_id": {
                    "description": "User ID",
                    "type": "integer"
                }
            }
        },
        "user.PutPayload": {
            "type": "object",
            "properties": {
                "labour_cost": {
                    "description": "Labour cost for this project user",
                    "type": "integer"
                },
                "manager": {
                    "description": "Whether the user will be manager of the project",
                    "type": "boolean"
                },
                "rate": {
                    "description": "Rate for this project user",
                    "type": "number"
                },
                "rate_change_mode": {
                    "description": "Rate change mode for this project user. Can be \"start-today\", \"override-current\", \"override-all\"",
                    "type": "string"
                }
            }
        },
        "users.LostPasswordURL": {
            "type": "object",
            "properties": {
                "url": {
                    "type": "string"
                }
            }
        },
        "users.ProjectUser": {
            "type": "object",
            "properties": {
                "group_id": {
                    "type": "integer"
                },
                "hourly_rate": {
                    "type": "number"
                },
                "id": {
                    "type": "integer"
                },
                "labour_cost": {
                    "type": "integer"
                },
                "manager": {
                    "type": "boolean"
                },
                "project_id": {
                    "type": "integer"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "users.ProjectUsersSummaryRow": {
            "type": "object",
            "properties": {
                "billable_seconds": {
                    "type": "integer"
                },
                "project_id": {
                    "type": "integer"
                },
                "tracked_seconds": {
                    "type": "integer"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "users.User": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "admin": {
                    "type": "boolean"
                },
                "avatar": {
                    "type": "string"
                },
                "deactivated": {
                    "type": "boolean"
                },
                "deleted_at": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "fullname": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "workspace_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": {
                    "type": "object",
                    "$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"
                }
            }
        },
        "users.projectUsersPost": {
            "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"
                }
            }
        },
        "users.userResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "users.usersPost": {
            "type": "object",
            "properties": {
                "active": {
                    "description": "Whether the wanted users are active, optional, default true.",
                    "type": "boolean"
                },
                "admin": {
                    "description": "Whether the wanted users are admins, optional, default false.",
                    "type": "boolean"
                },
                "ids": {
                    "description": "User IDs, optional.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "start": {
                    "type": "integer"
                }
            }
        },
        "utils.Int64Slice": {
            "type": "array",
            "items": {
                "type": "integer"
            }
        },
        "weekly.DataRow": {
            "type": "object",
            "properties": {
                "billable_amounts_in_cents": {
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "billable_seconds": {
                    "type": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "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": "object",
                    "$ref": "#/definitions/utils.Int64Slice"
                },
                "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"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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"
                },
                "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"
                },
                "postedFields": {
                    "type": "array",
                    "items": {
                        "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 workspace settings.",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Rounding minutes value, optional, default from workspace settings. 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"
                    }
                }
            }
        },
        "workspace.Payload": {
            "type": "object",
            "properties": {
                "admins": {
                    "description": "List of admins, optional",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "default_currency": {
                    "description": "Default currency, premium feature, optional, only for existing WS, will be 'USD' initially",
                    "type": "string"
                },
                "default_hourly_rate": {
                    "description": "The default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially",
                    "type": "number"
                },
                "initial_pricing_plan": {
                    "description": "The subscription plan for the workspace, deprecated",
                    "type": "integer"
                },
                "name": {
                    "description": "Workspace name",
                    "type": "string"
                },
                "only_admins_may_create_projects": {
                    "description": "Only admins will be able to create projects, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "only_admins_may_create_tags": {
                    "description": "Only admins will be able to create tags, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "only_admins_see_billable_rates": {
                    "description": "Whether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially",
                    "type": "boolean"
                },
                "only_admins_see_team_dashboard": {
                    "description": "Only admins will be able to see the team dashboard, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "projects_billable_by_default": {
                    "description": "Whether projects will be set as billable by default, premium feature, optional, only for existing WS. Will be true initially",
                    "type": "boolean"
                },
                "projects_private_by_default": {
                    "description": "Whether projects will be set to private by default, optional. Will be true initially.",
                    "type": "boolean"
                },
                "rate_change_mode": {
                    "description": "The rate change mode, premium feature, optional, only for existing WS. Can be \"start-today\", \"override-current\", \"override-all\"",
                    "type": "string"
                },
                "reports_collapse": {
                    "description": "Whether reports should be collapsed by default, optional, only for existing WS, will be true initially",
                    "type": "boolean"
                },
                "rounding": {
                    "description": "Default rounding, premium feature, optional, only for existing WS",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Default rounding in minutes, premium feature, optional, only for existing WS",
                    "type": "integer"
                }
            }
        },
        "workspace.WithActiveProjectCount": {
            "type": "object",
            "properties": {
                "active_project_count": {
                    "type": "integer"
                },
                "admin": {
                    "description": "Current user is workspace admin",
                    "type": "boolean"
                },
                "api_token": {
                    "description": "deprecated",
                    "type": "string"
                },
                "at": {
                    "description": "Timestamp of last workspace change",
                    "type": "string"
                },
                "business_ws": {
                    "description": "Workspace on Premium subscription",
                    "type": "boolean"
                },
                "csv_upload": {
                    "description": "CSV upload data",
                    "type": "object",
                    "$ref": "#/definitions/models.CsvUpload"
                },
                "default_currency": {
                    "description": "Default currency, premium feature, optional, only for existing WS, will be 'USD' initially",
                    "type": "string"
                },
                "default_hourly_rate": {
                    "description": "The default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially",
                    "type": "number"
                },
                "hide_start_end_times": {
                    "type": "boolean"
                },
                "ical_enabled": {
                    "description": "Calendar integration enabled",
                    "type": "boolean"
                },
                "ical_url": {
                    "description": "URL of calendar",
                    "type": "string"
                },
                "id": {
                    "description": "Identifier of the workspace",
                    "type": "integer"
                },
                "last_modified": {
                    "description": "Last modification of data in the workspace",
                    "type": "string"
                },
                "logo_url": {
                    "description": "URL of workspace logo",
                    "type": "string"
                },
                "max_data_retention_days": {
                    "description": "How far back free workspaces can access data.",
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the workspace",
                    "type": "string"
                },
                "only_admins_may_create_projects": {
                    "description": "Only admins will be able to create projects, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "only_admins_may_create_tags": {
                    "description": "Only admins will be able to create tags, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "only_admins_see_billable_rates": {
                    "description": "Whether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially",
                    "type": "boolean"
                },
                "only_admins_see_team_dashboard": {
                    "description": "Only admins will be able to see the team dashboard, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "organization_id": {
                    "description": "Identifier of the organization",
                    "type": "integer"
                },
                "permissions": {
                    "description": "Permissions list",
                    "type": "string"
                },
                "premium": {
                    "description": "Workspace on Starter subscription",
                    "type": "boolean"
                },
                "profile": {
                    "description": "deprecated",
                    "type": "integer"
                },
                "projects_billable_by_default": {
                    "description": "New projects billable by default",
                    "type": "boolean"
                },
                "projects_private_by_default": {
                    "description": "Workspace setting for default project visbility.",
                    "type": "boolean"
                },
                "rate_last_updated": {
                    "description": "Timestamp of last workspace rate update",
                    "type": "string"
                },
                "reports_collapse": {
                    "description": "Whether reports should be collapsed by default, optional, only for existing WS, will be true initially",
                    "type": "boolean"
                },
                "role": {
                    "description": "Role of the current user in the workspace",
                    "type": "string"
                },
                "rounding": {
                    "description": "Default rounding, premium feature, optional, only for existing WS. 0 - nearest, 1 - round up, -1 - round down",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Default rounding in minutes, premium feature, optional, only for existing WS",
                    "type": "integer"
                },
                "server_deleted_at": {
                    "description": "Timestamp of deletion",
                    "type": "string",
                    "format": "date-time"
                },
                "subscription": {
                    "description": "deprecated",
                    "type": "object",
                    "$ref": "#/definitions/models.Subscription"
                },
                "suspended_at": {
                    "description": "Timestamp of suspension",
                    "type": "string",
                    "format": "date-time"
                },
                "te_constraints": {
                    "description": "Time entry constraints setting",
                    "type": "object",
                    "$ref": "#/definitions/models.TimeEntryConstraints"
                },
                "working_hours_in_minutes": {
                    "description": "Working hours in minutes",
                    "type": "integer"
                }
            }
        },
        "workspace.Workspace": {
            "type": "object",
            "properties": {
                "admin": {
                    "description": "Current user is workspace admin",
                    "type": "boolean"
                },
                "api_token": {
                    "description": "deprecated",
                    "type": "string"
                },
                "at": {
                    "description": "Timestamp of last workspace change",
                    "type": "string"
                },
                "business_ws": {
                    "description": "Workspace on Premium subscription",
                    "type": "boolean"
                },
                "csv_upload": {
                    "description": "CSV upload data",
                    "type": "object",
                    "$ref": "#/definitions/models.CsvUpload"
                },
                "default_currency": {
                    "description": "Default currency, premium feature, optional, only for existing WS, will be 'USD' initially",
                    "type": "string"
                },
                "default_hourly_rate": {
                    "description": "The default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially",
                    "type": "number"
                },
                "hide_start_end_times": {
                    "type": "boolean"
                },
                "ical_enabled": {
                    "description": "Calendar integration enabled",
                    "type": "boolean"
                },
                "ical_url": {
                    "description": "URL of calendar",
                    "type": "string"
                },
                "id": {
                    "description": "Identifier of the workspace",
                    "type": "integer"
                },
                "last_modified": {
                    "description": "Last modification of data in the workspace",
                    "type": "string"
                },
                "logo_url": {
                    "description": "URL of workspace logo",
                    "type": "string"
                },
                "max_data_retention_days": {
                    "description": "How far back free workspaces can access data.",
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the workspace",
                    "type": "string"
                },
                "only_admins_may_create_projects": {
                    "description": "Only admins will be able to create projects, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "only_admins_may_create_tags": {
                    "description": "Only admins will be able to create tags, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "only_admins_see_billable_rates": {
                    "description": "Whether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially",
                    "type": "boolean"
                },
                "only_admins_see_team_dashboard": {
                    "description": "Only admins will be able to see the team dashboard, optional, only for existing WS, will be false initially",
                    "type": "boolean"
                },
                "organization_id": {
                    "description": "Identifier of the organization",
                    "type": "integer"
                },
                "permissions": {
                    "description": "Permissions list",
                    "type": "string"
                },
                "premium": {
                    "description": "Workspace on Starter subscription",
                    "type": "boolean"
                },
                "profile": {
                    "description": "deprecated",
                    "type": "integer"
                },
                "projects_billable_by_default": {
                    "description": "New projects billable by default",
                    "type": "boolean"
                },
                "projects_private_by_default": {
                    "description": "Workspace setting for default project visbility.",
                    "type": "boolean"
                },
                "rate_last_updated": {
                    "description": "Timestamp of last workspace rate update",
                    "type": "string"
                },
                "reports_collapse": {
                    "description": "Whether reports should be collapsed by default, optional, only for existing WS, will be true initially",
                    "type": "boolean"
                },
                "role": {
                    "description": "Role of the current user in the workspace",
                    "type": "string"
                },
                "rounding": {
                    "description": "Default rounding, premium feature, optional, only for existing WS. 0 - nearest, 1 - round up, -1 - round down",
                    "type": "integer"
                },
                "rounding_minutes": {
                    "description": "Default rounding in minutes, premium feature, optional, only for existing WS",
                    "type": "integer"
                },
                "server_deleted_at": {
                    "description": "Timestamp of deletion",
                    "type": "string",
                    "format": "date-time"
                },
                "subscription": {
                    "description": "deprecated",
                    "type": "object",
                    "$ref": "#/definitions/models.Subscription"
                },
                "suspended_at": {
                    "description": "Timestamp of suspension",
                    "type": "string",
                    "format": "date-time"
                },
                "te_constraints": {
                    "description": "Time entry constraints setting",
                    "type": "object",
                    "$ref": "#/definitions/models.TimeEntryConstraints"
                },
                "working_hours_in_minutes": {
                    "description": "Working hours in minutes",
                    "type": "integer"
                }
            }
        },
        "workspace_users.PatchParams": {
            "type": "object",
            "properties": {
                "delete": {
                    "description": "Workspace user IDs to be deleted",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "workspaces.JSONResult": {
            "type": "object",
            "properties": {
                "wid": {
                    "type": "integer"
                }
            }
        }
    },
    "securityDefinitions": {
        "BasicAuth": {
            "type": "basic"
        }
    }
}