{
    "openapi": "3.1.0",
    "info": {
        "title": "solidtime",
        "version": "0.0.1",
        "description": "## Getting started\n\nAll organization endpoints live under `/v1/organizations/{organization}`, where `{organization}` is the organization's ID. Authenticate with `Authorization: Bearer <token>` and send `Accept: application/json`.\n\n**1. Find yourself.** Call `GET /v1/users/me/memberships`. Each membership contains the **organization ID** (use it as `{organization}` in paths) and your **member ID** in that organization (the membership `id`). Most endpoints filter by member ID, not by user ID.\n\n**2. Scope to your own data.** For owners and admins, `GET /time-entries` and `GET /time-entries/aggregate` return the whole organization's time entries unless you pass `member_id`. When acting for \"me\", always pass your member ID, both when reading and before changing entries.\n\n**3. Resolve names to IDs.** Look up projects, clients, tags, tasks and members by name with their list endpoints (`GET /projects`, `GET /clients`, `GET /tags`, `GET /tasks`, `GET /members`). Never guess IDs.\n\n**4. Use UTC.** All timestamps are sent and returned in UTC as `Y-m-d\\TH:i:s\\Z` (example: `2026-10-02T07:30:00Z`). Convert the user's local times and day boundaries to UTC before sending them.\n\n**5. Money is in cents.** Billable rates and costs are integers in cents of the organization's currency (`8000` means 80.00).\n\n## Common tasks\n\n- **Start a timer:** stop the running entry first (find it with `GET /v1/users/me/time-entries/active`, then `PUT` its `end`), then `POST /time-entries` with `start` and `end: null`. Only one entry can run per member.\n- **Log past work:** `POST /time-entries` once per block with `member_id`, `start`, `end`, `project_id` and `billable` set to the project's `is_billable` (it is not derived automatically).\n- **Fix or stop an entry:** `PUT /time-entries/{timeEntry}` with the new `start` or `end` in UTC.\n- **Move entries to another project:** list them with `member_id` and filters, then `PATCH /time-entries` with their `ids` and `changes.project_id`, plus `changes.task_id` set to a task of the new project or `null`.\n- **Totals and reports:** `GET /time-entries/aggregate` with `group` (for example `client` or `project`) and `start`/`end`; durations are in `seconds`, amounts in `cost` (cents).\n- **Share a report:** `POST /reports` with `is_public: true` and use the returned `shareable_link`."
    },
    "servers": [
        {
            "url": "https://app.solidtime.io/api",
            "description": "Production"
        },
        {
            "url": "https://app.staging.solidtime.io/api",
            "description": "Staging"
        },
        {
            "url": "https://solidtime.test/api",
            "description": "Local"
        }
    ],
    "security": [
        {
            "oauth2": []
        }
    ],
    "paths": {
        "/v1/users/me/api-tokens": {
            "get": {
                "operationId": "getApiTokens",
                "description": "This endpoint is independent of the organization.",
                "summary": "List all api token of the currently authenticated user",
                "tags": [
                    "ApiToken"
                ],
                "responses": {
                    "200": {
                        "description": "`ApiTokenCollection`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ApiTokenCollection"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "createApiToken",
                "description": "The response will contain the access token that can be used to send authenticated API requests.\nPlease note that the access token is only shown in this response and cannot be retrieved later.",
                "summary": "Create a new api token for the currently authenticated user",
                "tags": [
                    "ApiToken"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ApiTokenStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ApiTokenWithAccessTokenResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ApiTokenWithAccessTokenResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/PersonalAccessClientIsNotConfiguredException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/users/me/api-tokens/{apiToken}/revoke": {
            "post": {
                "operationId": "revokeApiToken",
                "summary": "Revoke an api token",
                "tags": [
                    "ApiToken"
                ],
                "parameters": [
                    {
                        "name": "apiToken",
                        "in": "path",
                        "required": true,
                        "description": "The api token ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/PersonalAccessClientIsNotConfiguredException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/users/me/api-tokens/{apiToken}": {
            "delete": {
                "operationId": "deleteApiToken",
                "summary": "Delete an api token",
                "tags": [
                    "ApiToken"
                ],
                "parameters": [
                    {
                        "name": "apiToken",
                        "in": "path",
                        "required": true,
                        "description": "The api token ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/PersonalAccessClientIsNotConfiguredException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/weekly-project-overview": {
            "get": {
                "operationId": "weeklyProjectOverview",
                "summary": "Get chart data for the weekly project overview",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "integer"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "color": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "value",
                                            "name",
                                            "color"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/latest-tasks": {
            "get": {
                "operationId": "latestTasks",
                "summary": "Get chart data for the latest tasks",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "task_id": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "description": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "status": {
                                                "type": "boolean"
                                            },
                                            "time_entry_id": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        },
                                        "required": [
                                            "task_id",
                                            "name",
                                            "description",
                                            "status",
                                            "time_entry_id"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/last-seven-days": {
            "get": {
                "operationId": "lastSevenDays",
                "summary": "Get chart data for the last seven days",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "date": {
                                                "type": "string"
                                            },
                                            "duration": {
                                                "type": "integer"
                                            },
                                            "history": {
                                                "type": "array",
                                                "items": {
                                                    "type": "integer"
                                                }
                                            }
                                        },
                                        "required": [
                                            "date",
                                            "duration",
                                            "history"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/latest-team-activity": {
            "get": {
                "operationId": "latestTeamActivity",
                "summary": "Get chart data for the latest team activity",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "member_id": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "description": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "time_entry_id": {
                                                "type": "string"
                                            },
                                            "task_id": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "status": {
                                                "type": "boolean"
                                            }
                                        },
                                        "required": [
                                            "member_id",
                                            "name",
                                            "description",
                                            "time_entry_id",
                                            "task_id",
                                            "status"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/daily-tracked-hours": {
            "get": {
                "operationId": "dailyTrackedHours",
                "summary": "Get chart data for daily tracked hours",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "date": {
                                                "type": "string"
                                            },
                                            "duration": {
                                                "type": "integer"
                                            }
                                        },
                                        "required": [
                                            "date",
                                            "duration"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/total-weekly-time": {
            "get": {
                "operationId": "totalWeeklyTime",
                "summary": "Get chart data for total weekly time",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/total-weekly-billable-time": {
            "get": {
                "operationId": "totalWeeklyBillableTime",
                "summary": "Get chart data for total weekly billable time",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/total-weekly-billable-amount": {
            "get": {
                "operationId": "totalWeeklyBillableAmount",
                "summary": "Get chart data for total weekly billable amount",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "value": {
                                            "type": "integer"
                                        },
                                        "currency": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "value",
                                        "currency"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/charts/weekly-history": {
            "get": {
                "operationId": "weeklyHistory",
                "summary": "Get chart data for weekly history",
                "tags": [
                    "Chart"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "date": {
                                                "type": "string"
                                            },
                                            "duration": {
                                                "type": "integer"
                                            }
                                        },
                                        "required": [
                                            "date",
                                            "duration"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/clients": {
            "get": {
                "operationId": "getClients",
                "summary": "Get clients",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    },
                    {
                        "name": "archived",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false",
                                "all"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ClientResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ClientCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createClient",
                "summary": "Create client",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ClientStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ClientResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ClientResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/clients/{client}": {
            "put": {
                "operationId": "updateClient",
                "summary": "Update client",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "description": "The client ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ClientUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ClientResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ClientResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteClient",
                "summary": "Delete client",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "description": "The client ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "$ref": "#/components/responses/EntityStillInUseApiException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/currencies": {
            "get": {
                "operationId": "getCurrencies",
                "summary": "Get all currencies",
                "tags": [
                    "Currency"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "code": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "symbol": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "code",
                                            "name",
                                            "symbol"
                                        ]
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/organizations/{organization}/export": {
            "post": {
                "operationId": "exportOrganization",
                "summary": "Export data of an organization",
                "tags": [
                    "Export"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "download_url": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "download_url"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/ExportException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/goals": {
            "get": {
                "operationId": "getGoals",
                "description": "Returns the goals the current member is allowed to see, including the progress in the current period.",
                "summary": "Get goals",
                "tags": [
                    "Goal"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Only return goals of this type (personal, organization)\n| |\n|---|\n| `personal` <br/> A goal a member set for themselves. Only that member can see and manage it, no permission reaches it. |\n| `organization` <br/> A goal the organization set for a member or for the whole organization. Managed by the members that may manage goals, visible to them and to the member the goal is for. Requires the team goals extension. |",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/GoalType"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "archived",
                        "in": "query",
                        "description": "Filter by archived status, \"true\" only archived, \"false\" only not archived (default), \"all\" both",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "true",
                                "false",
                                "all",
                                null
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `GoalResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/GoalCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createGoal",
                "summary": "Create goal",
                "tags": [
                    "Goal"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GoalStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`GoalResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/GoalResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/FeatureIsNotAvailableInFreePlanApiException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/goals/{goal}": {
            "get": {
                "operationId": "getGoal",
                "summary": "Get goal",
                "tags": [
                    "Goal"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "goal",
                        "in": "path",
                        "required": true,
                        "description": "The goal ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`GoalResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/GoalResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "updateGoal",
                "description": "The type of a goal and the member it is for can not be changed after creation.",
                "summary": "Update goal",
                "tags": [
                    "Goal"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "goal",
                        "in": "path",
                        "required": true,
                        "description": "The goal ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GoalUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`GoalResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/GoalResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteGoal",
                "summary": "Delete goal",
                "tags": [
                    "Goal"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "goal",
                        "in": "path",
                        "required": true,
                        "description": "The goal ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/importers": {
            "get": {
                "operationId": "getImporters",
                "summary": "Get information about available importers",
                "tags": [
                    "Import"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "key": {
                                                        "type": "string"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "key",
                                                    "name",
                                                    "description"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/import": {
            "post": {
                "operationId": "importData",
                "summary": "Import data into the organization",
                "tags": [
                    "Import"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ImportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "const": "Invalid base64 encoded data"
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "report": {
                                            "type": "object",
                                            "description": "Import report",
                                            "properties": {
                                                "clients": {
                                                    "type": "object",
                                                    "properties": {
                                                        "created": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "required": [
                                                        "created"
                                                    ]
                                                },
                                                "projects": {
                                                    "type": "object",
                                                    "properties": {
                                                        "created": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "required": [
                                                        "created"
                                                    ]
                                                },
                                                "tasks": {
                                                    "type": "object",
                                                    "properties": {
                                                        "created": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "required": [
                                                        "created"
                                                    ]
                                                },
                                                "time_entries": {
                                                    "type": "object",
                                                    "properties": {
                                                        "created": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "required": [
                                                        "created"
                                                    ]
                                                },
                                                "tags": {
                                                    "type": "object",
                                                    "properties": {
                                                        "created": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "required": [
                                                        "created"
                                                    ]
                                                },
                                                "users": {
                                                    "type": "object",
                                                    "properties": {
                                                        "created": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "required": [
                                                        "created"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "clients",
                                                "projects",
                                                "tasks",
                                                "time_entries",
                                                "tags",
                                                "users"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "report"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/invitations": {
            "get": {
                "operationId": "getInvitations",
                "summary": "List all invitations of an organization",
                "tags": [
                    "Invitation"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `InvitationResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/InvitationCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "invite",
                "summary": "Invite a user to the organization",
                "tags": [
                    "Invitation"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/InvitationStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/InvitationForTheEmailAlreadyExistsApiException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/invitations/{invitation}/resend": {
            "post": {
                "operationId": "resendInvitationEmail",
                "summary": "Resend email for a pending invitation",
                "tags": [
                    "Invitation"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "invitation",
                        "in": "path",
                        "required": true,
                        "description": "The invitation ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/invitations/{invitation}": {
            "delete": {
                "operationId": "removeInvitation",
                "description": "This revokes the invitation: the link in the invitation email stops working. Find the invitation ID with `GET /organizations/{organization}/invitations`.",
                "summary": "Remove a pending invitation",
                "tags": [
                    "Invitation"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "invitation",
                        "in": "path",
                        "required": true,
                        "description": "The invitation ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/members": {
            "get": {
                "operationId": "getMembers",
                "summary": "List all members of an organization",
                "tags": [
                    "Member"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `MemberResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MemberCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/members/{member}": {
            "put": {
                "operationId": "updateMember",
                "summary": "Update a member of the organization",
                "tags": [
                    "Member"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "description": "The member ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MemberUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`MemberResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MemberResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/ChangingRoleOfPlaceholderIsNotAllowed"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "removeMember",
                "summary": "Remove a member of the organization",
                "tags": [
                    "Member"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "description": "The member ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "delete_related",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/CanNotRemoveOwnerFromOrganization"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/members/{member}/invite-placeholder": {
            "post": {
                "operationId": "invitePlaceholder",
                "summary": "Invite a placeholder member to become a real member of the organization",
                "tags": [
                    "Member"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "description": "The member ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/InvitationForTheEmailAlreadyExistsApiException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/members/{member}/make-placeholder": {
            "post": {
                "operationId": "makePlaceholder",
                "summary": "Make a member a placeholder member",
                "tags": [
                    "Member"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "description": "The member ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "$ref": "#/components/responses/ChangingRoleOfPlaceholderIsNotAllowed"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/member/{member}/merge-into": {
            "post": {
                "operationId": "mergeMember",
                "description": "Only placeholder members (for example people created by an import) can be merged. All time entries and other data of the placeholder\nare reassigned to the member given in `member_id`, and the placeholder is removed. Find both member IDs with `GET /organizations/{organization}/members`.",
                "summary": "Merge one member into another",
                "tags": [
                    "Member"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "description": "The member ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MemberMergeIntoRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "$ref": "#/components/responses/OnlyPlaceholdersCanBeMergedIntoAnotherMember"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations": {
            "post": {
                "operationId": "createOrganization",
                "summary": "Create organization",
                "tags": [
                    "Organization"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/OrganizationStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`OrganizationResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/OrganizationResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}": {
            "get": {
                "operationId": "getOrganization",
                "summary": "Get organization",
                "tags": [
                    "Organization"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`OrganizationResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/OrganizationResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "updateOrganization",
                "summary": "Update organization",
                "tags": [
                    "Organization"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/OrganizationUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`OrganizationResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/OrganizationResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteOrganization",
                "summary": "Delete organization",
                "tags": [
                    "Organization"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "password",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/projects": {
            "get": {
                "operationId": "getProjects",
                "summary": "Get projects visible to the current user",
                "tags": [
                    "Project"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    },
                    {
                        "name": "archived",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false",
                                "all"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ProjectResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProjectCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createProject",
                "summary": "Create project",
                "tags": [
                    "Project"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ProjectResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProjectResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/projects/{project}": {
            "get": {
                "operationId": "getProject",
                "summary": "Get project",
                "tags": [
                    "Project"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "The project ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ProjectResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProjectResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "updateProject",
                "summary": "Update project",
                "tags": [
                    "Project"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "The project ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ProjectResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProjectResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteProject",
                "summary": "Delete project",
                "tags": [
                    "Project"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "The project ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "$ref": "#/components/responses/EntityStillInUseApiException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/projects/{project}/project-members": {
            "get": {
                "operationId": "getProjectMembers",
                "summary": "Get project members for project",
                "tags": [
                    "ProjectMember"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "The project ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ProjectMemberResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProjectMemberCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createProjectMember",
                "summary": "Add project member to project",
                "tags": [
                    "ProjectMember"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "The project ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectMemberStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ProjectMemberResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProjectMemberResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/UserIsAlreadyMemberOfProjectApiException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/project-members/{projectMember}": {
            "put": {
                "operationId": "updateProjectMember",
                "summary": "Update project member",
                "tags": [
                    "ProjectMember"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "projectMember",
                        "in": "path",
                        "required": true,
                        "description": "The project member ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectMemberUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ProjectMemberResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProjectMemberResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteProjectMember",
                "summary": "Delete project member",
                "tags": [
                    "ProjectMember"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "projectMember",
                        "in": "path",
                        "required": true,
                        "description": "The project member ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/reports": {
            "get": {
                "operationId": "getReports",
                "summary": "Get reports",
                "tags": [
                    "Report"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ReportResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ReportCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createReport",
                "description": "A report is a saved set of filters. Set `is_public` to `true` to share it: the response then contains the `shareable_link` that can be opened without logging in.",
                "summary": "Create report",
                "tags": [
                    "Report"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReportStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`DetailedReportResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DetailedReportResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/reports/{report}": {
            "get": {
                "operationId": "getReport",
                "summary": "Get report",
                "tags": [
                    "Report"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "description": "The report ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DetailedReportResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DetailedReportResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "updateReport",
                "summary": "Update report",
                "tags": [
                    "Report"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "description": "The report ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReportUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`DetailedReportResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DetailedReportResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteReport",
                "summary": "Delete report",
                "tags": [
                    "Report"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "description": "The report ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/public/reports": {
            "get": {
                "operationId": "getPublicReport",
                "description": "This endpoint is public and does not require authentication. The report must be public and not expired.\nThe report is considered expired if the `public_until` field is set and the date is in the past.\nThe report is considered public if the `is_public` field is set to `true`.",
                "summary": "Get report by a share secret",
                "tags": [
                    "Report"
                ],
                "responses": {
                    "200": {
                        "description": "`DetailedWithDataReportResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DetailedWithDataReportResource"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/tags": {
            "get": {
                "operationId": "getTags",
                "summary": "Get tags",
                "tags": [
                    "Tag"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `TagResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TagCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createTag",
                "summary": "Create tag",
                "tags": [
                    "Tag"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TagStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TagResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TagResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/tags/{tag}": {
            "put": {
                "operationId": "updateTag",
                "summary": "Update tag",
                "tags": [
                    "Tag"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "path",
                        "required": true,
                        "description": "The tag ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TagUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TagResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TagResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteTag",
                "summary": "Delete tag",
                "tags": [
                    "Tag"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "path",
                        "required": true,
                        "description": "The tag ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "$ref": "#/components/responses/EntityStillInUseApiException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/tasks": {
            "get": {
                "operationId": "getTasks",
                "summary": "Get tasks",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2147483647
                        }
                    },
                    {
                        "name": "project_id",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "done",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false",
                                "all"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `TaskResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TaskCollection"
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createTask",
                "summary": "Create task",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaskStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TaskResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TaskResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/tasks/{task}": {
            "put": {
                "operationId": "updateTask",
                "summary": "Update task",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "description": "The task ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaskUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TaskResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TaskResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteTask",
                "summary": "Delete task",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "description": "The task ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/EntityStillInUseApiException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/time-entries": {
            "get": {
                "operationId": "getTimeEntries",
                "description": "Without a member filter this returns the time entries of all members of the organization (for users who may view all time entries, such as owners and admins), not only your own.\nTo get only your own time entries, pass your member ID as `member_id`. Your member ID is the `id` returned for this organization by `GET /v1/users/me/memberships`; it is not your user ID.\nUsers with the permission `time-entries:view:own` can only use this endpoint with their own member ID in the member_id filter.\n\nThe `start` and `end` filters both apply to the start time of an entry, in UTC. Convert the user's local day boundaries to UTC first.\nResults are paginated with `limit` (default 100, max 500) and `offset`; check `meta.total` and fetch further pages when needed.\nTo find the running timer, use `active=true` (or `GET /v1/users/me/time-entries/active`).",
                "summary": "Get time entries in organization",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member_id",
                        "in": "query",
                        "description": "Filter by member ID. Without it, users who may view all time entries (owners, admins) get the entries of every member; pass your own member ID (from GET /v1/users/me/memberships) to get only yours",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "client_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "project_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_match_type",
                        "in": "query",
                        "schema": {
                            "$ref": "#/components/schemas/TagMatchType"
                        }
                    },
                    {
                        "name": "task_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "description": "Filter only time entries that have a start date after the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "description": "Filter only time entries that have a start date before the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "Filter by active status (active means has no end date, is still running)",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "billable",
                        "in": "query",
                        "description": "Filter by billable status",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Filter by time entry type",
                        "schema": {
                            "$ref": "#/components/schemas/TimeEntryType"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit the number of returned time entries (default: 100)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 500
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Skip the first n time entries (default: 0)",
                        "schema": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 2147483647
                        }
                    },
                    {
                        "name": "only_full_dates",
                        "in": "query",
                        "description": "Filter makes sure that only time entries of a whole date are returned",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "rounding_type",
                        "in": "query",
                        "description": "Rounding type defined where the end of each time entry should be rounded to. For example: nearest rounds the end to the nearest x minutes group. Rounding per time entry is activated if `rounding_type` and `rounding_minutes` is not null.",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TimeEntryRoundingType"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "rounding_minutes",
                        "in": "query",
                        "description": "Defines the length of the interval that the time entry rounding rounds to.",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`TimeEntryCollection`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TimeEntryCollection"
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "post": {
                "operationId": "createTimeEntry",
                "description": "`billable` is not taken from the project. To match the web app, set it to the project's `is_billable` value (or `false` without a project).\n\nA member can only have one running time entry (an entry with `end` set to `null`). Creating a running entry while another one runs fails with `time_entry_still_running`.\nTo start a new timer, first stop the running entry by updating its `end` to the current time, then create the new entry.\nTo log past work, send both `start` and `end` (UTC). Create one entry per block of work.",
                "summary": "Create time entry",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TimeEntryStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TimeEntryResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TimeEntryResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/TimeEntryStillRunningApiException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "patch": {
                "operationId": "updateMultipleTimeEntries",
                "description": "Applies the same `changes` to every entry in `ids`. To find the IDs, list entries with `GET /organizations/{organization}/time-entries`\n(filtered by `member_id`, the project and the other criteria), then send their IDs here.\nWhen `changes.project_id` moves entries to another project, also set `changes.task_id` to a task of the new project or to `null`, because tasks belong to a project.",
                "summary": "Update multiple time entries",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TimeEntryUpdateMultipleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        },
                                        "error": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "error"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteTimeEntries",
                "summary": "Delete multiple time entries",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "format": "uuid",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        },
                                        "error": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "error"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/time-entries/export": {
            "get": {
                "operationId": "exportTimeEntries",
                "summary": "Export time entries in organization",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "$ref": "#/components/schemas/ExportFormat"
                        }
                    },
                    {
                        "name": "member_id",
                        "in": "query",
                        "description": "Filter by member ID",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "member_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "format": "uuid",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "client_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "project_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_match_type",
                        "in": "query",
                        "schema": {
                            "$ref": "#/components/schemas/TagMatchType"
                        }
                    },
                    {
                        "name": "task_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Filter only time entries that have a start date after the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "Filter only time entries that have a start date before the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "Filter by active status (active means has no end date, is still running)",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "billable",
                        "in": "query",
                        "description": "Filter by billable status",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Filter by time entry type",
                        "schema": {
                            "$ref": "#/components/schemas/TimeEntryType"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit the number of returned time entries (default: 150)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 500
                        }
                    },
                    {
                        "name": "only_full_dates",
                        "in": "query",
                        "description": "Filter makes sure that only time entries of a whole date are returned",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "debug",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "rounding_type",
                        "in": "query",
                        "description": "Rounding type defined where the end of each time entry should be rounded to. For example: nearest rounds the end to the nearest x minutes group. Rounding per time entry is activated if `rounding_type` and `rounding_minutes` is not null.",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TimeEntryRoundingType"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "rounding_minutes",
                        "in": "query",
                        "description": "Defines the length of the interval that the time entry rounding rounds to.",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "download_url": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "download_url"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "html": {
                                                    "type": "string"
                                                },
                                                "footer_html": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "html",
                                                "footer_html"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/PdfRendererIsNotConfiguredException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/time-entries/aggregate": {
            "get": {
                "operationId": "getAggregatedTimeEntries",
                "description": "This endpoint allows you to filter time entries and aggregate them by different criteria.\nThe parameters `group` and `sub_group` allow you to group the time entries by different criteria.\nIf the group parameters are all set to `null` or are all missing, the endpoint will aggregate all filtered time entries.\n\nDurations are returned in `seconds` (divide by 3600 for hours) and amounts in `cost` as cents in the organization's currency (divide by 100 for money).\nFilter by member with `member_id`. Your member ID is the `id` returned for this organization by `GET /v1/users/me/memberships`; it is not your user ID.\nArray filters use the query format `client_ids[]=<id>`.\nExample: billable hours per client for a period: `group=client&billable=true&start=...&end=...`.",
                "summary": "Get aggregated time entries in organization",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "description": "Type of first grouping",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TimeEntryAggregationType"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "sub_group",
                        "in": "query",
                        "description": "Type of second grouping",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TimeEntryAggregationType"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "member_id",
                        "in": "query",
                        "description": "Filter by member ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "description": "Filter by user ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "project_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "client_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_match_type",
                        "in": "query",
                        "schema": {
                            "$ref": "#/components/schemas/TagMatchType"
                        }
                    },
                    {
                        "name": "task_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "description": "Filter only time entries that have a start date after the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "description": "Filter only time entries that have a start date before the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "Filter by active status (active means has no end date, is still running)",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "billable",
                        "in": "query",
                        "description": "Filter by billable status",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Filter by time entry type",
                        "schema": {
                            "$ref": "#/components/schemas/TimeEntryType"
                        }
                    },
                    {
                        "name": "fill_gaps_in_time_groups",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "rounding_type",
                        "in": "query",
                        "description": "Rounding type defined where the end of each time entry should be rounded to. For example: nearest rounds the end to the nearest x minutes group. Rounding per time entry is activated if `rounding_type` and `rounding_minutes` is not null.",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TimeEntryRoundingType"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "rounding_minutes",
                        "in": "query",
                        "description": "Defines the length of the interval that the time entry rounding rounds to.",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "grouped_type": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "grouped_data": {
                                                    "type": [
                                                        "array",
                                                        "null"
                                                    ],
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "key": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "seconds": {
                                                                "type": "integer"
                                                            },
                                                            "cost": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            },
                                                            "grouped_type": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "grouped_data": {
                                                                "type": [
                                                                    "array",
                                                                    "null"
                                                                ],
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "key": {
                                                                            "type": [
                                                                                "string",
                                                                                "null"
                                                                            ]
                                                                        },
                                                                        "seconds": {
                                                                            "type": "integer"
                                                                        },
                                                                        "cost": {
                                                                            "type": [
                                                                                "integer",
                                                                                "null"
                                                                            ]
                                                                        },
                                                                        "grouped_type": {
                                                                            "type": "null"
                                                                        },
                                                                        "grouped_data": {
                                                                            "type": "null"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "seconds",
                                                                        "cost",
                                                                        "grouped_type",
                                                                        "grouped_data"
                                                                    ]
                                                                }
                                                            }
                                                        },
                                                        "required": [
                                                            "key",
                                                            "seconds",
                                                            "cost",
                                                            "grouped_type",
                                                            "grouped_data"
                                                        ]
                                                    }
                                                },
                                                "seconds": {
                                                    "type": "integer"
                                                },
                                                "cost": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "grouped_type",
                                                "grouped_data",
                                                "seconds",
                                                "cost"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/time-entries/aggregate/export": {
            "get": {
                "operationId": "exportAggregatedTimeEntries",
                "summary": "Export aggregated time entries in organization",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "description": "Data format of the export",
                        "schema": {
                            "$ref": "#/components/schemas/ExportFormat"
                        }
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "required": true,
                        "description": "Type of first grouping",
                        "schema": {
                            "$ref": "#/components/schemas/TimeEntryAggregationType"
                        }
                    },
                    {
                        "name": "sub_group",
                        "in": "query",
                        "required": true,
                        "description": "Type of second grouping",
                        "schema": {
                            "$ref": "#/components/schemas/TimeEntryAggregationType"
                        }
                    },
                    {
                        "name": "history_group",
                        "in": "query",
                        "required": true,
                        "description": "Type of grouping of the historic aggregation (time chart)",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TimeEntryAggregationTypeInterval"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "member_id",
                        "in": "query",
                        "description": "Filter by member ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "description": "Filter by user ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "project_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "client_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tag_match_type",
                        "in": "query",
                        "schema": {
                            "$ref": "#/components/schemas/TagMatchType"
                        }
                    },
                    {
                        "name": "task_ids[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": true,
                        "description": "Filter only time entries that have a start date after the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "end",
                        "in": "query",
                        "required": true,
                        "description": "Filter only time entries that have a start date before the given timestamp in UTC (example: 2021-01-01T00:00:00Z)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "Filter by active status (active means has no end date, is still running)",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "billable",
                        "in": "query",
                        "description": "Filter by billable status",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Filter by time entry type",
                        "schema": {
                            "$ref": "#/components/schemas/TimeEntryType"
                        }
                    },
                    {
                        "name": "fill_gaps_in_time_groups",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "debug",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "rounding_type",
                        "in": "query",
                        "description": "Rounding type defined where the end of each time entry should be rounded to. For example: nearest rounds the end to the nearest x minutes group. Rounding per time entry is activated if `rounding_type` and `rounding_minutes` is not null.",
                        "schema": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TimeEntryRoundingType"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        }
                    },
                    {
                        "name": "rounding_minutes",
                        "in": "query",
                        "description": "Defines the length of the interval that the time entry rounding rounds to.",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "download_url": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "download_url"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "html": {
                                                    "type": "string"
                                                },
                                                "footer_html": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "html",
                                                "footer_html"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/PdfRendererIsNotConfiguredException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/organizations/{organization}/time-entries/{timeEntry}": {
            "put": {
                "operationId": "updateTimeEntry",
                "description": "To stop a running timer, set `end` to the stop time (UTC). Times the user gives in their own timezone must be converted to UTC first.",
                "summary": "Update time entry",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "timeEntry",
                        "in": "path",
                        "required": true,
                        "description": "The time entry ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TimeEntryUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TimeEntryResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TimeEntryResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/TimeEntryMemberCanNotBeChangedWhileRunningApiException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteTimeEntry",
                "summary": "Delete time entry",
                "tags": [
                    "TimeEntry"
                ],
                "parameters": [
                    {
                        "name": "organization",
                        "in": "path",
                        "required": true,
                        "description": "The organization ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "timeEntry",
                        "in": "path",
                        "required": true,
                        "description": "The time entry ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/time-zones": {
            "get": {
                "operationId": "getTimezones",
                "summary": "Get all timezones",
                "tags": [
                    "TimeZone"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "key": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "key"
                                        ]
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/users/me": {
            "get": {
                "operationId": "getMe",
                "description": "This endpoint is independent of the organization.",
                "summary": "Get the current user",
                "tags": [
                    "User"
                ],
                "responses": {
                    "200": {
                        "description": "`UserResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/UserResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/users/me/current-organization": {
            "put": {
                "operationId": "updateMyCurrentOrganization",
                "description": "Switches the organization that the user is currently working in. The user\nmust be a member of the given organization. This endpoint is independent of\nthe organization.",
                "summary": "Update the current organization of the current user",
                "tags": [
                    "User"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserUpdateCurrentOrganizationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`UserResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/UserResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/users/{user}": {
            "put": {
                "operationId": "updateUser",
                "description": "This endpoint is independent of the organization.",
                "summary": "Update the current user",
                "tags": [
                    "User"
                ],
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "description": "The user ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`UserResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/UserResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "deleteUser",
                "description": "This endpoint is independent of the organization.",
                "summary": "Handles the deletion of a user",
                "tags": [
                    "User"
                ],
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "description": "The user instance to be deleted.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "password",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/CanNotDeleteUserWhoIsOwnerOfOrganizationWithMultipleMembers"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/v1/users/{user}/resend-email-verification": {
            "post": {
                "operationId": "resendUserEmailVerification",
                "description": "This endpoint is independent of the organization.",
                "summary": "Resend the pending email update verification email",
                "tags": [
                    "User"
                ],
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "description": "The user ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "400": {
                        "$ref": "#/components/responses/UserResendEmailVerificationNoPendingEmailApiException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/users/{user}/reset-pending-email": {
            "post": {
                "operationId": "resetUserPendingEmail",
                "description": "This endpoint is independent of the organization.",
                "summary": "Reset the pending email for a user",
                "tags": [
                    "User"
                ],
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "description": "The user ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/users/me/memberships": {
            "get": {
                "operationId": "getMyMemberships",
                "description": "This endpoint is independent of the organization.",
                "summary": "Get the memberships of the current user",
                "tags": [
                    "UserMembership"
                ],
                "responses": {
                    "200": {
                        "description": "`PersonalMembershipCollection`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PersonalMembershipCollection"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/v1/users/me/time-entries/active": {
            "get": {
                "operationId": "getMyActiveTimeEntry",
                "description": "This endpoint is independent of the organization.",
                "summary": "Get the active time entry of the current user",
                "tags": [
                    "UserTimeEntry"
                ],
                "responses": {
                    "200": {
                        "description": "`TimeEntryResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TimeEntryResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "oauth2": {
                "type": "oauth2",
                "flows": {
                    "authorizationCode": {
                        "authorizationUrl": "https://solidtime.test/oauth/authorize",
                        "scopes": {}
                    }
                }
            }
        },
        "schemas": {
            "ApiTokenCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/ApiTokenResource"
                },
                "title": "ApiTokenCollection"
            },
            "ApiTokenResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of the API token, this ID is NOT a UUID"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the API token"
                    },
                    "revoked": {
                        "type": "boolean",
                        "description": "Whether the API token is revoked"
                    },
                    "scopes": {
                        "type": "array",
                        "description": "List of scopes that the API token has",
                        "items": {
                            "type": "string"
                        }
                    },
                    "created_at": {
                        "type": "string",
                        "description": "When the API token was created (ISO 8601 format, UTC timezone, example: 2024-02-26T17:17:17Z)"
                    },
                    "expires_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "At what time the API token expires (ISO 8601 format, UTC timezone, example: 2024-02-26T17:17:17Z)"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "revoked",
                    "scopes",
                    "created_at",
                    "expires_at"
                ],
                "title": "ApiTokenResource"
            },
            "ApiTokenStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "ApiTokenStoreRequest"
            },
            "ApiTokenWithAccessTokenResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of the API token, this ID is NOT a UUID"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the API token"
                    },
                    "revoked": {
                        "type": "boolean",
                        "description": "Whether the API token is revoked"
                    },
                    "scopes": {
                        "type": "array",
                        "description": "List of scopes that the API token has",
                        "items": {
                            "type": "string"
                        }
                    },
                    "created_at": {
                        "type": "string",
                        "description": "When the API token was created (ISO 8601 format, UTC timezone, example: 2024-02-26T17:17:17Z)"
                    },
                    "expires_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "At what time the API token expires (ISO 8601 format, UTC timezone, example: 2024-02-26T17:17:17Z)"
                    },
                    "access_token": {
                        "type": "string",
                        "description": "Access token that can be used to authenticate requests"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "revoked",
                    "scopes",
                    "created_at",
                    "expires_at",
                    "access_token"
                ],
                "title": "ApiTokenWithAccessTokenResource"
            },
            "ClientCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/ClientResource"
                },
                "title": "ClientCollection"
            },
            "ClientResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "is_archived": {
                        "type": "boolean",
                        "description": "Whether the client is archived"
                    },
                    "created_at": {
                        "type": "string",
                        "description": "When the tag was created"
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "When the tag was last updated"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "is_archived",
                    "created_at",
                    "updated_at"
                ],
                "title": "ClientResource"
            },
            "ClientStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "ClientStoreRequest"
            },
            "ClientUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the client",
                        "minLength": 1,
                        "maxLength": 255
                    },
                    "is_archived": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "name"
                ],
                "title": "ClientUpdateRequest"
            },
            "CurrencyFormat": {
                "type": "string",
                "enum": [
                    "iso-code-before-with-space",
                    "iso-code-after-with-space",
                    "symbol-before",
                    "symbol-after",
                    "symbol-before-with-space",
                    "symbol-after-with-space"
                ],
                "title": "CurrencyFormat"
            },
            "DateFormat": {
                "type": "string",
                "enum": [
                    "point-separated-d-m-yyyy",
                    "slash-separated-mm-dd-yyyy",
                    "slash-separated-dd-mm-yyyy",
                    "hyphen-separated-dd-mm-yyyy",
                    "hyphen-separated-mm-dd-yyyy",
                    "hyphen-separated-yyyy-mm-dd"
                ],
                "title": "DateFormat"
            },
            "DetailedReportResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of the report"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Description"
                    },
                    "is_public": {
                        "type": "boolean",
                        "description": "Whether the report can be accessed via an external link"
                    },
                    "public_until": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Date until the report is public"
                    },
                    "shareable_link": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Get link to access the report externally, not set if the report is private"
                    },
                    "properties": {
                        "type": "object",
                        "properties": {
                            "group": {
                                "type": "string",
                                "description": "Type of first grouping"
                            },
                            "sub_group": {
                                "type": "string",
                                "description": "Type of second grouping"
                            },
                            "history_group": {
                                "type": "string",
                                "description": "Type of grouping of the historic aggregation (time chart)"
                            },
                            "start": {
                                "type": "string",
                                "description": "Start date of the report"
                            },
                            "end": {
                                "type": "string",
                                "description": "End date of the report"
                            },
                            "active": {
                                "type": [
                                    "boolean",
                                    "null"
                                ],
                                "description": "Whether the report is active"
                            },
                            "member_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by multiple member IDs, member IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "billable": {
                                "type": [
                                    "boolean",
                                    "null"
                                ],
                                "description": "Filter by billable status"
                            },
                            "time_entry_type": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Filter by time entry type"
                            },
                            "client_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by client IDs, client IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "project_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by project IDs, project IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by tag IDs, tag IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_match_type": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Tag match type"
                            },
                            "task_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by task IDs, task IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "rounding_type": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Rounding type for time entries"
                            },
                            "rounding_minutes": {
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "description": "Rounding minutes for time entries"
                            }
                        },
                        "required": [
                            "group",
                            "sub_group",
                            "history_group",
                            "start",
                            "end",
                            "active",
                            "member_ids",
                            "billable",
                            "time_entry_type",
                            "client_ids",
                            "project_ids",
                            "tag_ids",
                            "tag_match_type",
                            "task_ids",
                            "rounding_type",
                            "rounding_minutes"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "description": "Date when the report was created"
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "Date when the report was last updated"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description",
                    "is_public",
                    "public_until",
                    "shareable_link",
                    "properties",
                    "created_at",
                    "updated_at"
                ],
                "title": "DetailedReportResource"
            },
            "DetailedWithDataReportResource": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Description"
                    },
                    "public_until": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Date until the report is public"
                    },
                    "currency": {
                        "type": "string",
                        "description": "Currency code (ISO 4217)"
                    },
                    "number_format": {
                        "description": "Number format",
                        "$ref": "#/components/schemas/NumberFormat"
                    },
                    "currency_format": {
                        "description": "Currency format",
                        "$ref": "#/components/schemas/CurrencyFormat"
                    },
                    "currency_symbol": {
                        "type": "string",
                        "description": "Currency symbol"
                    },
                    "date_format": {
                        "description": "Date format",
                        "$ref": "#/components/schemas/DateFormat"
                    },
                    "interval_format": {
                        "description": "Interval format",
                        "$ref": "#/components/schemas/IntervalFormat"
                    },
                    "time_format": {
                        "description": "Time format",
                        "$ref": "#/components/schemas/TimeFormat"
                    },
                    "properties": {
                        "type": "object",
                        "properties": {
                            "group": {
                                "type": "string",
                                "description": "Type of first grouping"
                            },
                            "sub_group": {
                                "type": "string",
                                "description": "Type of second grouping"
                            },
                            "history_group": {
                                "type": "string",
                                "description": "Type of grouping of the historic aggregation (time chart)"
                            },
                            "start": {
                                "type": "string",
                                "description": "Start date of the report"
                            },
                            "end": {
                                "type": "string",
                                "description": "End date of the report"
                            }
                        },
                        "required": [
                            "group",
                            "sub_group",
                            "history_group",
                            "start",
                            "end"
                        ]
                    },
                    "data": {
                        "type": "object",
                        "description": "Aggregated data",
                        "properties": {
                            "grouped_type": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "grouped_data": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "key": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "description": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "color": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "seconds": {
                                            "type": "integer"
                                        },
                                        "cost": {
                                            "type": "integer"
                                        },
                                        "grouped_type": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "grouped_data": {
                                            "type": [
                                                "array",
                                                "null"
                                            ],
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "key": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "description": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "color": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "seconds": {
                                                        "type": "integer"
                                                    },
                                                    "cost": {
                                                        "type": "integer"
                                                    },
                                                    "grouped_type": {
                                                        "type": "null"
                                                    },
                                                    "grouped_data": {
                                                        "type": "null"
                                                    }
                                                },
                                                "required": [
                                                    "key",
                                                    "description",
                                                    "color",
                                                    "seconds",
                                                    "cost",
                                                    "grouped_type",
                                                    "grouped_data"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "key",
                                        "description",
                                        "color",
                                        "seconds",
                                        "cost",
                                        "grouped_type",
                                        "grouped_data"
                                    ]
                                }
                            },
                            "seconds": {
                                "type": "integer"
                            },
                            "cost": {
                                "type": "integer"
                            }
                        },
                        "required": [
                            "grouped_type",
                            "grouped_data",
                            "seconds",
                            "cost"
                        ]
                    },
                    "history_data": {
                        "type": "object",
                        "description": "Historic aggregated data",
                        "properties": {
                            "grouped_type": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "grouped_data": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "key": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "description": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "seconds": {
                                            "type": "integer"
                                        },
                                        "cost": {
                                            "type": "integer"
                                        },
                                        "grouped_type": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "grouped_data": {
                                            "type": [
                                                "array",
                                                "null"
                                            ],
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "key": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "description": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "seconds": {
                                                        "type": "integer"
                                                    },
                                                    "cost": {
                                                        "type": "integer"
                                                    },
                                                    "grouped_type": {
                                                        "type": "null"
                                                    },
                                                    "grouped_data": {
                                                        "type": "null"
                                                    }
                                                },
                                                "required": [
                                                    "key",
                                                    "description",
                                                    "seconds",
                                                    "cost",
                                                    "grouped_type",
                                                    "grouped_data"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "key",
                                        "description",
                                        "seconds",
                                        "cost",
                                        "grouped_type",
                                        "grouped_data"
                                    ]
                                }
                            },
                            "seconds": {
                                "type": "integer"
                            },
                            "cost": {
                                "type": "integer"
                            }
                        },
                        "required": [
                            "grouped_type",
                            "grouped_data",
                            "seconds",
                            "cost"
                        ]
                    }
                },
                "required": [
                    "name",
                    "description",
                    "public_until",
                    "currency",
                    "number_format",
                    "currency_format",
                    "currency_symbol",
                    "date_format",
                    "interval_format",
                    "time_format",
                    "properties",
                    "data",
                    "history_data"
                ],
                "title": "DetailedWithDataReportResource"
            },
            "ExportFormat": {
                "type": "string",
                "enum": [
                    "csv",
                    "pdf",
                    "xlsx",
                    "ods"
                ],
                "title": "ExportFormat"
            },
            "GoalCollection": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string",
                            "description": "ID of the goal"
                        },
                        "name": {
                            "type": "string",
                            "description": "Name"
                        },
                        "type": {
                            "type": "string",
                            "description": "personal: a goal a member set for themselves, organization: a goal of the organization (team goals extension)"
                        },
                        "comparison": {
                            "type": "string",
                            "description": "Whether the goal is reached with \"at least\" or \"less than\" the target time (at_least, less_than)"
                        },
                        "target_seconds": {
                            "type": "integer",
                            "description": "Target time in seconds"
                        },
                        "period": {
                            "type": "string",
                            "description": "Recurring time frame (day, week, month)"
                        },
                        "member_id": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "ID of the member whose time entries count towards the goal, null if every member counts"
                        },
                        "member_name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Name of the member whose time entries count towards the goal, null if every member counts"
                        },
                        "timezone": {
                            "type": "string",
                            "description": "Timezone that defines the periods of the goal"
                        },
                        "week_start": {
                            "type": "string",
                            "description": "Week start that defines weekly periods"
                        },
                        "is_archived": {
                            "type": "boolean",
                            "description": "Whether the goal is archived"
                        },
                        "filters": {
                            "type": "object",
                            "properties": {
                                "member_ids": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "description": "Filter by member IDs, member IDs are OR combined, only for goals that count every member",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "project_ids": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "description": "Filter by project IDs, project IDs are OR combined",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "task_ids": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "description": "Filter by task IDs, task IDs are OR combined",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "tag_ids": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "description": "Filter by tag IDs, tag IDs are OR combined",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "tag_match_type": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "description": "Tag match type (contains, not_contains)"
                                },
                                "client_ids": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "description": "Filter by client IDs, client IDs are OR combined",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "billable": {
                                    "type": [
                                        "boolean",
                                        "null"
                                    ],
                                    "description": "Filter by billable status"
                                },
                                "time_entry_type": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "description": "Filter by time entry type (work, break)"
                                }
                            },
                            "required": [
                                "member_ids",
                                "project_ids",
                                "task_ids",
                                "tag_ids",
                                "tag_match_type",
                                "client_ids",
                                "billable",
                                "time_entry_type"
                            ]
                        },
                        "progress": {
                            "type": "object",
                            "properties": {
                                "period_start": {
                                    "type": "string",
                                    "description": "Start of the current period (inclusive)"
                                },
                                "period_end": {
                                    "type": "string",
                                    "description": "End of the current period (exclusive)"
                                },
                                "tracked_seconds": {
                                    "type": "integer",
                                    "description": "Seconds tracked in the current period that match the filters, incl. the running time entry"
                                },
                                "status": {
                                    "type": "string",
                                    "description": "Status in the current period (in_progress, achieved, on_track, exceeded)"
                                }
                            },
                            "required": [
                                "period_start",
                                "period_end",
                                "tracked_seconds",
                                "status"
                            ]
                        },
                        "created_at": {
                            "type": "string",
                            "description": "Date when the goal was created"
                        },
                        "updated_at": {
                            "type": "string",
                            "description": "Date when the goal was last updated"
                        }
                    },
                    "required": [
                        "id",
                        "name",
                        "type",
                        "comparison",
                        "target_seconds",
                        "period",
                        "member_id",
                        "member_name",
                        "timezone",
                        "week_start",
                        "is_archived",
                        "filters",
                        "progress",
                        "created_at",
                        "updated_at"
                    ]
                },
                "title": "GoalCollection"
            },
            "GoalComparison": {
                "type": "string",
                "description": "| |\n|---|\n| `at_least` <br/> The goal is reached when at least the target amount of time was tracked in the period. |\n| `less_than` <br/> The goal is reached when less than the target amount of time was tracked in the period. |",
                "enum": [
                    "at_least",
                    "less_than"
                ],
                "title": "GoalComparison"
            },
            "GoalPeriod": {
                "type": "string",
                "enum": [
                    "day",
                    "week",
                    "month"
                ],
                "title": "GoalPeriod"
            },
            "GoalResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of the goal"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "type": {
                        "type": "string",
                        "description": "personal: a goal a member set for themselves, organization: a goal of the organization (team goals extension)"
                    },
                    "comparison": {
                        "type": "string",
                        "description": "Whether the goal is reached with \"at least\" or \"less than\" the target time (at_least, less_than)"
                    },
                    "target_seconds": {
                        "type": "integer",
                        "description": "Target time in seconds"
                    },
                    "period": {
                        "type": "string",
                        "description": "Recurring time frame (day, week, month)"
                    },
                    "member_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of the member whose time entries count towards the goal, null if every member counts"
                    },
                    "member_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Name of the member whose time entries count towards the goal, null if every member counts"
                    },
                    "timezone": {
                        "type": "string",
                        "description": "Timezone that defines the periods of the goal"
                    },
                    "week_start": {
                        "type": "string",
                        "description": "Week start that defines weekly periods"
                    },
                    "is_archived": {
                        "type": "boolean",
                        "description": "Whether the goal is archived"
                    },
                    "filters": {
                        "type": "object",
                        "properties": {
                            "member_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by member IDs, member IDs are OR combined, only for goals that count every member",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "project_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by project IDs, project IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "task_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by task IDs, task IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by tag IDs, tag IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_match_type": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Tag match type (contains, not_contains)"
                            },
                            "client_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by client IDs, client IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "billable": {
                                "type": [
                                    "boolean",
                                    "null"
                                ],
                                "description": "Filter by billable status"
                            },
                            "time_entry_type": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Filter by time entry type (work, break)"
                            }
                        },
                        "required": [
                            "member_ids",
                            "project_ids",
                            "task_ids",
                            "tag_ids",
                            "tag_match_type",
                            "client_ids",
                            "billable",
                            "time_entry_type"
                        ]
                    },
                    "progress": {
                        "type": "object",
                        "properties": {
                            "period_start": {
                                "type": "string",
                                "description": "Start of the current period (inclusive)"
                            },
                            "period_end": {
                                "type": "string",
                                "description": "End of the current period (exclusive)"
                            },
                            "tracked_seconds": {
                                "type": "integer",
                                "description": "Seconds tracked in the current period that match the filters, incl. the running time entry"
                            },
                            "status": {
                                "type": "string",
                                "description": "Status in the current period (in_progress, achieved, on_track, exceeded)"
                            }
                        },
                        "required": [
                            "period_start",
                            "period_end",
                            "tracked_seconds",
                            "status"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "description": "Date when the goal was created"
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "Date when the goal was last updated"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "type",
                    "comparison",
                    "target_seconds",
                    "period",
                    "member_id",
                    "member_name",
                    "timezone",
                    "week_start",
                    "is_archived",
                    "filters",
                    "progress",
                    "created_at",
                    "updated_at"
                ],
                "title": "GoalResource"
            },
            "GoalStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "type": {
                        "description": "personal: a goal for yourself that nobody else can see, organization: a goal of the organization for a member or for every member. Organization goals require the team goals extension.\n\n| |\n|---|\n| `personal` <br/> A goal a member set for themselves. Only that member can see and manage it, no permission reaches it. |\n| `organization` <br/> A goal the organization set for a member or for the whole organization. Managed by the members that may manage goals, visible to them and to the member the goal is for. Requires the team goals extension. |",
                        "$ref": "#/components/schemas/GoalType"
                    },
                    "comparison": {
                        "description": "Whether the goal is reached when \"at least\" or \"less than\" the target time is tracked in the period\n\n| |\n|---|\n| `at_least` <br/> The goal is reached when at least the target amount of time was tracked in the period. |\n| `less_than` <br/> The goal is reached when less than the target amount of time was tracked in the period. |",
                        "$ref": "#/components/schemas/GoalComparison"
                    },
                    "target_seconds": {
                        "type": "integer",
                        "description": "Target time in seconds",
                        "minimum": 1,
                        "maximum": 2147483647
                    },
                    "period": {
                        "description": "The recurring time frame in which the target has to be reached",
                        "$ref": "#/components/schemas/GoalPeriod"
                    },
                    "member_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of the member whose time entries count towards the goal, defaults to the current member. Send null for a goal that counts every member (organization goals only)."
                    },
                    "timezone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Timezone that defines the periods of the goal, defaults to the timezone of the current user"
                    },
                    "week_start": {
                        "anyOf": [
                            {
                                "description": "Week start that defines weekly periods, defaults to the week start of the current user",
                                "$ref": "#/components/schemas/Weekday"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "filters": {
                        "type": "object",
                        "properties": {
                            "member_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by member IDs, member IDs are OR combined. Only for goals that count every member, null means every member.",
                                "items": {
                                    "type": "string"
                                },
                                "uniqueItems": true
                            },
                            "project_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by project IDs, project IDs are OR combined, \"none\" matches entries without a project",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "task_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by task IDs, task IDs are OR combined, \"none\" matches entries without a task",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by tag IDs, tag IDs are OR combined, \"none\" matches entries without tags",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_match_type": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/TagMatchType"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "client_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by client IDs, client IDs are OR combined, \"none\" matches entries without a client",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "billable": {
                                "type": [
                                    "boolean",
                                    "null"
                                ],
                                "description": "Filter by billable status, null means both"
                            },
                            "time_entry_type": {
                                "anyOf": [
                                    {
                                        "description": "Filter by time entry type, null means both",
                                        "$ref": "#/components/schemas/TimeEntryType"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "name",
                    "type",
                    "comparison",
                    "target_seconds",
                    "period"
                ],
                "title": "GoalStoreRequest"
            },
            "GoalType": {
                "type": "string",
                "description": "| |\n|---|\n| `personal` <br/> A goal a member set for themselves. Only that member can see and manage it, no permission reaches it. |\n| `organization` <br/> A goal the organization set for a member or for the whole organization. Managed by the members that may manage goals, visible to them and to the member the goal is for. Requires the team goals extension. |",
                "enum": [
                    "personal",
                    "organization"
                ],
                "title": "GoalType"
            },
            "GoalUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "comparison": {
                        "description": "Whether the goal is reached when \"at least\" or \"less than\" the target time is tracked in the period\n\n| |\n|---|\n| `at_least` <br/> The goal is reached when at least the target amount of time was tracked in the period. |\n| `less_than` <br/> The goal is reached when less than the target amount of time was tracked in the period. |",
                        "$ref": "#/components/schemas/GoalComparison"
                    },
                    "target_seconds": {
                        "type": "integer",
                        "description": "Target time in seconds",
                        "minimum": 1,
                        "maximum": 2147483647
                    },
                    "period": {
                        "description": "The recurring time frame in which the target has to be reached",
                        "$ref": "#/components/schemas/GoalPeriod"
                    },
                    "timezone": {
                        "type": "string",
                        "description": "Timezone that defines the periods of the goal"
                    },
                    "week_start": {
                        "description": "Week start that defines weekly periods",
                        "$ref": "#/components/schemas/Weekday"
                    },
                    "is_archived": {
                        "type": "boolean",
                        "description": "Archived goals are hidden from the goal list by default, their progress is still calculated"
                    },
                    "type": {
                        "type": "string",
                        "description": "Only allowed if it matches the current type of the goal"
                    },
                    "member_id": {
                        "type": "string",
                        "description": "Only allowed if it matches the current member of the goal"
                    },
                    "filters": {
                        "type": "object",
                        "properties": {
                            "member_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by member IDs, member IDs are OR combined. Only for goals that count every member, null means every member.",
                                "items": {
                                    "type": "string"
                                },
                                "uniqueItems": true
                            },
                            "project_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by project IDs, project IDs are OR combined, \"none\" matches entries without a project",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "task_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by task IDs, task IDs are OR combined, \"none\" matches entries without a task",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by tag IDs, tag IDs are OR combined, \"none\" matches entries without tags",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_match_type": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/TagMatchType"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "client_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by client IDs, client IDs are OR combined, \"none\" matches entries without a client",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "billable": {
                                "type": [
                                    "boolean",
                                    "null"
                                ],
                                "description": "Filter by billable status, null means both"
                            },
                            "time_entry_type": {
                                "anyOf": [
                                    {
                                        "description": "Filter by time entry type, null means both",
                                        "$ref": "#/components/schemas/TimeEntryType"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            }
                        }
                    }
                },
                "title": "GoalUpdateRequest"
            },
            "ImportRequest": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "data": {
                        "type": "string",
                        "maxLength": 52428800
                    }
                },
                "required": [
                    "type",
                    "data"
                ],
                "title": "ImportRequest"
            },
            "IntervalFormat": {
                "type": "string",
                "enum": [
                    "decimal",
                    "hours-minutes",
                    "hours-minutes-colon-separated",
                    "hours-minutes-seconds-colon-separated"
                ],
                "title": "IntervalFormat"
            },
            "InvitationCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/InvitationResource"
                },
                "title": "InvitationCollection"
            },
            "InvitationResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of the invitation"
                    },
                    "email": {
                        "type": "string",
                        "description": "Email"
                    },
                    "role": {
                        "type": "string",
                        "description": "Role"
                    }
                },
                "required": [
                    "id",
                    "email",
                    "role"
                ],
                "title": "InvitationResource"
            },
            "InvitationStoreRequest": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "admin",
                            "manager",
                            "employee"
                        ]
                    }
                },
                "required": [
                    "email",
                    "role"
                ],
                "title": "InvitationStoreRequest"
            },
            "MemberCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/MemberResource"
                },
                "title": "MemberCollection"
            },
            "MemberMergeIntoRequest": {
                "type": "object",
                "properties": {
                    "member_id": {
                        "type": "string",
                        "description": "ID of the member to which the data should be transferred (destination)"
                    }
                },
                "title": "MemberMergeIntoRequest"
            },
            "MemberResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of membership"
                    },
                    "user_id": {
                        "type": "string",
                        "description": "ID of user"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "email": {
                        "type": "string",
                        "description": "Email"
                    },
                    "role": {
                        "type": "string",
                        "description": "Role"
                    },
                    "is_placeholder": {
                        "type": "boolean",
                        "description": "Placeholder user for imports, user might not really exist and does not know about this placeholder membership"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour"
                    }
                },
                "required": [
                    "id",
                    "user_id",
                    "name",
                    "email",
                    "role",
                    "is_placeholder",
                    "billable_rate"
                ],
                "title": "MemberResource"
            },
            "MemberUpdateRequest": {
                "type": "object",
                "properties": {
                    "role": {
                        "$ref": "#/components/schemas/Role"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour (example: 8000 means 80.00 in the organization's currency)",
                        "minimum": 0,
                        "maximum": 2147483647
                    }
                },
                "title": "MemberUpdateRequest"
            },
            "NumberFormat": {
                "type": "string",
                "enum": [
                    "point-comma",
                    "comma-point",
                    "space-comma",
                    "space-point",
                    "apostrophe-point"
                ],
                "title": "NumberFormat"
            },
            "OrganizationResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "is_personal": {
                        "type": "boolean",
                        "description": "Personal organizations automatically created after registration"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour"
                    },
                    "can_use_billable_rates": {
                        "type": "string",
                        "description": "Whether the organization's plan allows billable flags and rates"
                    },
                    "employees_can_see_billable_rates": {
                        "type": "boolean",
                        "description": "Can members of the organization with role \"employee\" see the billable rates"
                    },
                    "employees_can_manage_tasks": {
                        "type": "boolean",
                        "description": "Can members of the organization with role \"employee\" manage tasks in public projects and projects they are assigned to"
                    },
                    "prevent_overlapping_time_entries": {
                        "type": "boolean",
                        "description": "Prevent creating overlapping time entries (only new entries)"
                    },
                    "breaks_enabled": {
                        "type": "boolean",
                        "description": "Whether members of the organization can track breaks"
                    },
                    "currency": {
                        "type": "string",
                        "description": "Currency code (ISO 4217)"
                    },
                    "currency_symbol": {
                        "type": "string",
                        "description": "Currency symbol"
                    },
                    "number_format": {
                        "description": "Number format",
                        "$ref": "#/components/schemas/NumberFormat"
                    },
                    "currency_format": {
                        "description": "Currency format",
                        "$ref": "#/components/schemas/CurrencyFormat"
                    },
                    "date_format": {
                        "description": "Date format",
                        "$ref": "#/components/schemas/DateFormat"
                    },
                    "interval_format": {
                        "description": "Interval format",
                        "$ref": "#/components/schemas/IntervalFormat"
                    },
                    "time_format": {
                        "description": "Time format",
                        "$ref": "#/components/schemas/TimeFormat"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "is_personal",
                    "billable_rate",
                    "can_use_billable_rates",
                    "employees_can_see_billable_rates",
                    "employees_can_manage_tasks",
                    "prevent_overlapping_time_entries",
                    "breaks_enabled",
                    "currency",
                    "currency_symbol",
                    "number_format",
                    "currency_format",
                    "date_format",
                    "interval_format",
                    "time_format"
                ],
                "title": "OrganizationResource"
            },
            "OrganizationStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "OrganizationStoreRequest"
            },
            "OrganizationUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "currency": {
                        "type": "string"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour (example: 8000 means 80.00 in the organization's currency)",
                        "minimum": 0,
                        "maximum": 2147483647
                    },
                    "employees_can_see_billable_rates": {
                        "type": "boolean"
                    },
                    "employees_can_manage_tasks": {
                        "type": "boolean"
                    },
                    "prevent_overlapping_time_entries": {
                        "type": "boolean"
                    },
                    "breaks_enabled": {
                        "type": "boolean"
                    },
                    "number_format": {
                        "$ref": "#/components/schemas/NumberFormat"
                    },
                    "currency_format": {
                        "$ref": "#/components/schemas/CurrencyFormat"
                    },
                    "date_format": {
                        "$ref": "#/components/schemas/DateFormat"
                    },
                    "interval_format": {
                        "$ref": "#/components/schemas/IntervalFormat"
                    },
                    "time_format": {
                        "$ref": "#/components/schemas/TimeFormat"
                    }
                },
                "title": "OrganizationUpdateRequest"
            },
            "PersonalMembershipCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/PersonalMembershipResource"
                },
                "title": "PersonalMembershipCollection"
            },
            "PersonalMembershipResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of membership"
                    },
                    "organization": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string",
                                "description": "ID of organization"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of organization"
                            },
                            "currency": {
                                "type": "string",
                                "description": "Currency code (ISO 4217) of organization"
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "currency"
                        ]
                    },
                    "role": {
                        "type": "string",
                        "description": "Role"
                    }
                },
                "required": [
                    "id",
                    "organization",
                    "role"
                ],
                "title": "PersonalMembershipResource"
            },
            "ProjectCollection": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string",
                            "description": "ID of project"
                        },
                        "name": {
                            "type": "string",
                            "description": "Name of project"
                        },
                        "color": {
                            "type": "string",
                            "description": "Color of project"
                        },
                        "client_id": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "ID of client"
                        },
                        "is_archived": {
                            "type": "boolean",
                            "description": "Whether the client is archived"
                        },
                        "billable_rate": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "description": "Billable rate in cents per hour"
                        },
                        "is_billable": {
                            "type": "boolean",
                            "description": "Project time entries billable default"
                        },
                        "estimated_time": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "description": "Estimated time in seconds"
                        },
                        "spent_time": {
                            "type": "integer",
                            "description": "Spent time on this project in seconds (sum of the duration of all associated time entries, excl. still running time entries)"
                        },
                        "is_public": {
                            "type": "boolean",
                            "description": "Whether the project is public"
                        }
                    },
                    "required": [
                        "id",
                        "name",
                        "color",
                        "client_id",
                        "is_archived",
                        "billable_rate",
                        "is_billable",
                        "estimated_time",
                        "spent_time",
                        "is_public"
                    ]
                },
                "title": "ProjectCollection"
            },
            "ProjectMemberCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/ProjectMemberResource"
                },
                "title": "ProjectMemberCollection"
            },
            "ProjectMemberResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of project member"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour"
                    },
                    "member_id": {
                        "type": "string",
                        "description": "ID of the organization member"
                    },
                    "project_id": {
                        "type": "string",
                        "description": "ID of the project"
                    }
                },
                "required": [
                    "id",
                    "billable_rate",
                    "member_id",
                    "project_id"
                ],
                "title": "ProjectMemberResource"
            },
            "ProjectMemberStoreRequest": {
                "type": "object",
                "properties": {
                    "member_id": {
                        "type": "string"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour (example: 8000 means 80.00 in the organization's currency)",
                        "minimum": 0,
                        "maximum": 2147483647
                    }
                },
                "required": [
                    "member_id"
                ],
                "title": "ProjectMemberStoreRequest"
            },
            "ProjectMemberUpdateRequest": {
                "type": "object",
                "properties": {
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour (example: 8000 means 80.00 in the organization's currency)",
                        "minimum": 0,
                        "maximum": 2147483647
                    }
                },
                "title": "ProjectMemberUpdateRequest"
            },
            "ProjectResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of project"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of project"
                    },
                    "color": {
                        "type": "string",
                        "description": "Color of project"
                    },
                    "client_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of client"
                    },
                    "is_archived": {
                        "type": "boolean",
                        "description": "Whether the client is archived"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour"
                    },
                    "is_billable": {
                        "type": "boolean",
                        "description": "Project time entries billable default"
                    },
                    "estimated_time": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Estimated time in seconds"
                    },
                    "spent_time": {
                        "type": "integer",
                        "description": "Spent time on this project in seconds (sum of the duration of all associated time entries, excl. still running time entries)"
                    },
                    "is_public": {
                        "type": "boolean",
                        "description": "Whether the project is public"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "color",
                    "client_id",
                    "is_archived",
                    "billable_rate",
                    "is_billable",
                    "estimated_time",
                    "spent_time",
                    "is_public"
                ],
                "title": "ProjectResource"
            },
            "ProjectStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the project, the name needs to be unique per client and organization",
                        "minLength": 1,
                        "maxLength": 255
                    },
                    "color": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "is_billable": {
                        "type": "boolean"
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour (example: 8000 means 80.00 in the organization's currency)",
                        "minimum": 0,
                        "maximum": 2147483647
                    },
                    "client_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of the client"
                    },
                    "estimated_time": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Estimated time in seconds",
                        "minimum": 0,
                        "maximum": 2147483647
                    },
                    "is_public": {
                        "type": "boolean",
                        "description": "Whether the project is public"
                    }
                },
                "required": [
                    "name",
                    "color",
                    "is_billable",
                    "client_id"
                ],
                "title": "ProjectStoreRequest"
            },
            "ProjectUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "color": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "is_billable": {
                        "type": "boolean"
                    },
                    "is_archived": {
                        "type": "boolean"
                    },
                    "is_public": {
                        "type": "boolean"
                    },
                    "client_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "billable_rate": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Billable rate in cents per hour (example: 8000 means 80.00 in the organization's currency), the current rate is kept if the field is omitted",
                        "minimum": 0,
                        "maximum": 2147483647
                    },
                    "estimated_time": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Estimated time in seconds",
                        "minimum": 0,
                        "maximum": 2147483647
                    }
                },
                "required": [
                    "name",
                    "color",
                    "is_billable",
                    "client_id"
                ],
                "title": "ProjectUpdateRequest"
            },
            "ReportCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/ReportResource"
                },
                "title": "ReportCollection"
            },
            "ReportResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of the report"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Description"
                    },
                    "is_public": {
                        "type": "boolean",
                        "description": "Whether the report can be accessed via an external link"
                    },
                    "public_until": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Date until the report is public"
                    },
                    "shareable_link": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Get link to access the report externally, not set if the report is private"
                    },
                    "created_at": {
                        "type": "string",
                        "description": "Date when the report was created"
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "Date when the report was last updated"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description",
                    "is_public",
                    "public_until",
                    "shareable_link",
                    "created_at",
                    "updated_at"
                ],
                "title": "ReportResource"
            },
            "ReportStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "is_public": {
                        "type": "boolean"
                    },
                    "public_until": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "After this date the report will be automatically set to private (is_public=false) (Format: \"Y-m-d\\TH:i:s\\Z\", UTC timezone, Example: \"2000-02-22T14:58:59Z\")"
                    },
                    "properties": {
                        "type": "object",
                        "properties": {
                            "start": {
                                "type": "string"
                            },
                            "end": {
                                "type": "string"
                            },
                            "active": {
                                "type": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "member_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "billable": {
                                "type": [
                                    "boolean",
                                    "null"
                                ]
                            },
                            "client_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "string"
                                }
                            },
                            "project_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by project IDs, project IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "Filter by tag IDs, tag IDs are OR combined",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tag_match_type": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/TagMatchType"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "task_ids": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "string"
                                }
                            },
                            "group": {
                                "$ref": "#/components/schemas/TimeEntryAggregationType"
                            },
                            "sub_group": {
                                "$ref": "#/components/schemas/TimeEntryAggregationType"
                            },
                            "history_group": {
                                "$ref": "#/components/schemas/TimeEntryAggregationTypeInterval"
                            },
                            "week_start": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/Weekday"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "timezone": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "rounding_type": {
                                "anyOf": [
                                    {
                                        "description": "Rounding type defined where the end of each time entry should be rounded to. For example: nearest rounds the end to the nearest x minutes group. Rounding per time entry is activated if `rounding_type` and `rounding_minutes` is not null.",
                                        "$ref": "#/components/schemas/TimeEntryRoundingType"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "rounding_minutes": {
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "description": "Defines the length of the interval that the time entry rounding rounds to."
                            },
                            "time_entry_type": {
                                "anyOf": [
                                    {
                                        "description": "Filter by time entry type",
                                        "$ref": "#/components/schemas/TimeEntryType"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            }
                        },
                        "required": [
                            "start",
                            "end",
                            "group",
                            "sub_group",
                            "history_group"
                        ]
                    }
                },
                "required": [
                    "name",
                    "is_public",
                    "properties"
                ],
                "title": "ReportStoreRequest"
            },
            "ReportUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "is_public": {
                        "type": "boolean"
                    },
                    "public_until": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "title": "ReportUpdateRequest"
            },
            "Role": {
                "type": "string",
                "enum": [
                    "owner",
                    "admin",
                    "manager",
                    "employee",
                    "placeholder"
                ],
                "title": "Role"
            },
            "TagCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/TagResource"
                },
                "title": "TagCollection"
            },
            "TagMatchType": {
                "type": "string",
                "enum": [
                    "contains",
                    "not_contains"
                ],
                "title": "TagMatchType"
            },
            "TagResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "created_at": {
                        "type": "string",
                        "description": "When the tag was created"
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "When the tag was last updated"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "created_at",
                    "updated_at"
                ],
                "title": "TagResource"
            },
            "TagStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "TagStoreRequest"
            },
            "TagUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                    }
                },
                "required": [
                    "name"
                ],
                "title": "TagUpdateRequest"
            },
            "TaskCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/TaskResource"
                },
                "title": "TaskCollection"
            },
            "TaskResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name"
                    },
                    "is_done": {
                        "type": "boolean",
                        "description": "Whether the task is done"
                    },
                    "project_id": {
                        "type": "string",
                        "description": "ID of the project"
                    },
                    "estimated_time": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Estimated time in seconds"
                    },
                    "spent_time": {
                        "type": "integer",
                        "description": "Spent time on this task in seconds (sum of the duration of all associated time entries, excl. still running time entries)"
                    },
                    "created_at": {
                        "type": "string",
                        "description": "When the tag was created"
                    },
                    "updated_at": {
                        "type": "string",
                        "description": "When the tag was last updated"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "is_done",
                    "project_id",
                    "estimated_time",
                    "spent_time",
                    "created_at",
                    "updated_at"
                ],
                "title": "TaskResource"
            },
            "TaskStoreRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                    },
                    "project_id": {
                        "type": "string"
                    },
                    "estimated_time": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Estimated time in seconds",
                        "minimum": 0,
                        "maximum": 2147483647
                    }
                },
                "required": [
                    "name",
                    "project_id"
                ],
                "title": "TaskStoreRequest"
            },
            "TaskUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                    },
                    "is_done": {
                        "type": "boolean"
                    },
                    "estimated_time": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Estimated time in seconds",
                        "minimum": 0,
                        "maximum": 2147483647
                    }
                },
                "required": [
                    "name"
                ],
                "title": "TaskUpdateRequest"
            },
            "TimeEntryAggregationType": {
                "type": "string",
                "enum": [
                    "day",
                    "week",
                    "month",
                    "year",
                    "user",
                    "project",
                    "task",
                    "client",
                    "billable",
                    "description",
                    "tag",
                    "type"
                ],
                "title": "TimeEntryAggregationType"
            },
            "TimeEntryAggregationTypeInterval": {
                "type": "string",
                "enum": [
                    "day",
                    "week",
                    "month",
                    "year"
                ],
                "title": "TimeEntryAggregationTypeInterval"
            },
            "TimeEntryCollection": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/TimeEntryResource"
                },
                "title": "TimeEntryCollection"
            },
            "TimeEntryResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of time entry"
                    },
                    "start": {
                        "type": "string",
                        "description": "Start of time entry (ISO 8601 format, UTC timezone, example: 2024-02-26T17:17:17Z)"
                    },
                    "end": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "End of time entry (ISO 8601 format, UTC timezone, example: 2024-02-26T17:17:17Z)"
                    },
                    "duration": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Duration of time entry in seconds"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Description of time entry"
                    },
                    "task_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of task"
                    },
                    "project_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of project"
                    },
                    "organization_id": {
                        "type": "string",
                        "description": "ID of organization"
                    },
                    "user_id": {
                        "type": "string",
                        "description": "ID of user"
                    },
                    "tags": {
                        "type": "array",
                        "description": "List of tag IDs",
                        "items": {
                            "type": "string"
                        }
                    },
                    "billable": {
                        "type": "boolean",
                        "description": "Whether time entry is billable"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of the time entry (`work` time or a `break`)"
                    }
                },
                "required": [
                    "id",
                    "start",
                    "end",
                    "duration",
                    "description",
                    "task_id",
                    "project_id",
                    "organization_id",
                    "user_id",
                    "tags",
                    "billable",
                    "type"
                ],
                "title": "TimeEntryResource"
            },
            "TimeEntryRoundingType": {
                "type": "string",
                "enum": [
                    "up",
                    "down",
                    "nearest"
                ],
                "title": "TimeEntryRoundingType"
            },
            "TimeEntryStoreRequest": {
                "type": "object",
                "properties": {
                    "member_id": {
                        "type": "string",
                        "description": "ID of the organization member that the time entry should belong to (a member ID from GET /v1/users/me/memberships or the members list, not a user ID)"
                    },
                    "project_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "task_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of the task that the time entry should belong to"
                    },
                    "start": {
                        "type": "string",
                        "description": "Start of time entry (Format: \"Y-m-d\\TH:i:s\\Z\", UTC timezone, Example: \"2000-02-22T14:58:59Z\")"
                    },
                    "end": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "End of time entry (Format: \"Y-m-d\\TH:i:s\\Z\", UTC timezone, Example: \"2000-02-22T14:58:59Z\")"
                    },
                    "billable": {
                        "type": "boolean",
                        "description": "Whether time entry is billable. Not derived from the project: set it to the project's is_billable value to match the web app"
                    },
                    "type": {
                        "description": "Type of the time entry (work time or a break)",
                        "$ref": "#/components/schemas/TimeEntryType"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Description of time entry",
                        "maxLength": 5000
                    },
                    "tags": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "description": "List of tag IDs",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "member_id",
                    "start",
                    "billable"
                ],
                "title": "TimeEntryStoreRequest"
            },
            "TimeEntryType": {
                "type": "string",
                "enum": [
                    "work",
                    "break"
                ],
                "title": "TimeEntryType"
            },
            "TimeEntryUpdateMultipleRequest": {
                "type": "object",
                "properties": {
                    "ids": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "minItems": 1
                    },
                    "changes": {
                        "type": "object",
                        "properties": {
                            "member_id": {
                                "type": "string",
                                "description": "ID of the organization member that the time entry should belong to"
                            },
                            "project_id": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "ID of the project that the time entry should belong to"
                            },
                            "task_id": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "ID of the task that the time entry should belong to"
                            },
                            "billable": {
                                "type": "boolean",
                                "description": "Whether time entry is billable"
                            },
                            "type": {
                                "description": "Type of the time entry (work time or a break)",
                                "$ref": "#/components/schemas/TimeEntryType"
                            },
                            "description": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Description of time entry",
                                "maxLength": 5000
                            },
                            "tags": {
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "description": "List of tag IDs",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                },
                "required": [
                    "ids",
                    "changes"
                ],
                "title": "TimeEntryUpdateMultipleRequest"
            },
            "TimeEntryUpdateRequest": {
                "type": "object",
                "properties": {
                    "member_id": {
                        "type": "string",
                        "description": "ID of the organization member that the time entry should belong to"
                    },
                    "project_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of the project that the time entry should belong to"
                    },
                    "task_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "ID of the task that the time entry should belong to"
                    },
                    "start": {
                        "type": "string",
                        "description": "Start of time entry (Format: \"Y-m-d\\TH:i:s\\Z\", UTC timezone, Example: \"2000-02-22T14:58:59Z\")"
                    },
                    "end": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "End of time entry (Format: \"Y-m-d\\TH:i:s\\Z\", UTC timezone, Example: \"2000-02-22T14:58:59Z\")"
                    },
                    "billable": {
                        "type": "boolean",
                        "description": "Whether time entry is billable"
                    },
                    "type": {
                        "description": "Type of the time entry (work time or a break)",
                        "$ref": "#/components/schemas/TimeEntryType"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Description of time entry",
                        "maxLength": 5000
                    },
                    "tags": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "description": "List of tag IDs",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "title": "TimeEntryUpdateRequest"
            },
            "TimeFormat": {
                "type": "string",
                "enum": [
                    "12-hours",
                    "24-hours"
                ],
                "title": "TimeFormat"
            },
            "UserResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "ID of user"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of user"
                    },
                    "email": {
                        "type": "string",
                        "description": "Email of user"
                    },
                    "pending_email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Email address awaiting verification (set when the user has requested an email change but not yet verified the new address)"
                    },
                    "profile_photo_url": {
                        "type": "string",
                        "description": "Profile photo URL"
                    },
                    "timezone": {
                        "type": "string",
                        "description": "Timezone (f.e. Europe/Berlin or America/New_York)"
                    },
                    "week_start": {
                        "description": "Starting day of the week",
                        "$ref": "#/components/schemas/Weekday"
                    },
                    "send_time_entry_still_running_email": {
                        "type": "boolean",
                        "description": "Whether to email the user when a time entry has been running for more than 8 hours"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "email",
                    "pending_email",
                    "profile_photo_url",
                    "timezone",
                    "week_start",
                    "send_time_entry_still_running_email"
                ],
                "title": "UserResource"
            },
            "UserUpdateCurrentOrganizationRequest": {
                "type": "object",
                "properties": {
                    "organization_id": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "required": [
                    "organization_id"
                ],
                "title": "UserUpdateCurrentOrganizationRequest"
            },
            "UserUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "maxLength": 255
                    },
                    "photo": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "timezone": {
                        "type": "string"
                    },
                    "week_start": {
                        "$ref": "#/components/schemas/Weekday"
                    },
                    "send_time_entry_still_running_email": {
                        "type": "boolean"
                    }
                },
                "title": "UserUpdateRequest"
            },
            "Weekday": {
                "type": "string",
                "enum": [
                    "monday",
                    "tuesday",
                    "wednesday",
                    "thursday",
                    "friday",
                    "saturday",
                    "sunday"
                ],
                "title": "Weekday"
            }
        },
        "responses": {
            "AuthorizationException": {
                "description": "Authorization error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            },
            "ModelNotFoundException": {
                "description": "Not found",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ChangingRoleOfPlaceholderIsNotAllowed": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "EntityStillInUseApiException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "CanNotRemoveOwnerFromOrganization": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "InvitationForTheEmailAlreadyExistsApiException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "OnlyPlaceholdersCanBeMergedIntoAnotherMember": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "UserResendEmailVerificationNoPendingEmailApiException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "CanNotDeleteUserWhoIsOwnerOfOrganizationWithMultipleMembers": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "PersonalAccessClientIsNotConfiguredException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "UserIsAlreadyMemberOfProjectApiException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "FeatureIsNotAvailableInFreePlanApiException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "PdfRendererIsNotConfiguredException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "TimeEntryStillRunningApiException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "TimeEntryMemberCanNotBeChangedWhileRunningApiException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            },
            "ExportException": {
                "description": "API exception",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "boolean",
                                    "description": "Whether the response is an error."
                                },
                                "key": {
                                    "type": "string",
                                    "description": "Error key."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message."
                                }
                            },
                            "required": [
                                "error",
                                "key",
                                "message"
                            ]
                        }
                    }
                }
            }
        }
    }
}