{
  "openapi": "3.0.1",
  "info": {
    "title": "Reporting",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://{customerSubdomain}.smenso.cloud/skyisland",
      "description": "smenso",
      "variables": {
        "customerSubdomain": {
          "default": "demo",
          "description": "Add your workspace"
        }
      }
    }
  ],
  "paths": {
    "/api/reports/absences/{mode}": {
      "get": {
        "tags": [
          "Absences"
        ],
        "summary": "Get all absences",
        "description": "Returns a report with all absence records according to the selected mode. Use this endpoint to analyze vacation, sick leave, and other absence types across all employees. Filtering and views allow you to restrict the data to specific periods, teams, or absence types. The result can be consumed as CSV or JSON, depending on your format parameter.",
        "operationId": "Reporting.ExportAbsencesCsv",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Absences"
        ],
        "summary": "Get all absences (POST with advanced filters)",
        "description": "Works like the GET version but accepts additional filter or configuration data in the request body. Use this endpoint when your filter criteria or column setup are too complex to be expressed via query parameters only. The response contains the absence report data in the requested format.",
        "operationId": "Reporting.ExportAbsencesCsvExtended",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/absences/excel/{mode}": {
      "get": {
        "tags": [
          "Absences"
        ],
        "summary": "Get absences (Excel)",
        "description": "Generates an Excel file containing all absence records for the selected mode. Use this endpoint when absence data needs to be further processed in Excel or shared as a file. You can restrict the data using query parameters such as filter, view, and lang.",
        "operationId": "Reporting.ExportAbsencesExcel",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Absences"
        ],
        "summary": "Get absences (Excel, POST with advanced filters)",
        "description": "Same as the GET Excel export but allows you to send complex or large filter definitions in the request body. This is useful for integrations that build dynamic reports or need to reuse pre-defined filter configurations. The response is an Excel file ready for download.",
        "operationId": "Reporting.ExportAbsencesExcelExtended",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for absences"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/attachment/{attachmentId}": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Download attachment",
        "description": "Downloads an attachment file referenced by its `attachmentId`. Use this endpoint to fetch files that are linked from reports, such as uploaded documents or images. The attachment is returned in its original binary format for direct download.",
        "operationId": "Reporting.GetAttachment",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "Unique identifier for the attachment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the attachment."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/comments/statusreport/{statusReportId}": {
      "get": {
        "tags": [
          "Comments"
        ],
        "summary": "Get comments for status report",
        "description": "Returns all comments related to a specific status report. Use this endpoint to analyze feedback, discussions, and decisions captured in status reports. The result can be exported as CSV or JSON and localized with the lang parameter.",
        "operationId": "Reporting.GetStatusReportCommentsCsv",
        "parameters": [
          {
            "name": "statusReportId",
            "in": "path",
            "description": "Unique identifier for the status report.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the status report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/comments/statusreport/excel/{statusReportId}": {
      "get": {
        "tags": [
          "Comments"
        ],
        "summary": "Get comments for status report (Excel)",
        "description": "Exports all comments of the given status report into an Excel file. This is useful when comments need to be archived, shared, or further processed outside the application. The timezone header controls how timestamps are rendered in the export.",
        "operationId": "Reporting.GetStatusReportCommentsExcel",
        "parameters": [
          {
            "name": "statusReportId",
            "in": "path",
            "description": "Unique identifier for the status report.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the status report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/comments/task/{taskId}": {
      "get": {
        "tags": [
          "Comments"
        ],
        "summary": "Get comments for task",
        "description": "Retrieves all comments for the specified task. Use this endpoint to review task-related discussions, decisions, and clarifications in a structured format. The response can be formatted as CSV or JSON and localized with lang.",
        "operationId": "Reporting.GetTaskCommentsCsv",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Unique identifier for the task.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the task."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/comments/task/excel/{taskId}": {
      "get": {
        "tags": [
          "Comments"
        ],
        "summary": "Get comments for task (Excel)",
        "description": "Exports all comments of a single task into an Excel file. This is helpful for audits, reviews, or offline analysis of task communication. Timestamps are formatted according to the provided timezone.",
        "operationId": "Reporting.GetTaskCommentsExcel",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Unique identifier for the task.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the task."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/document/{documentId}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Download document",
        "description": "Downloads a single document file by its `documentId`. This endpoint is deprecated and kept for backward compatibility. Use the newer document export endpoints where available in your workspace for future integrations.",
        "operationId": "Reporting.GetDocument",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "description": "Unique identifier for the document.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the document."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/flavors": {
      "get": {
        "tags": [
          "Flavors"
        ],
        "summary": "Get all flavors",
        "description": "Returns a report of all available flavors (predefined value sets or classifications) used in the workspace. Use this endpoint to export lookup tables or configuration lists that are referenced in other reports. The result can be consumed as CSV or JSON and localized via lang.",
        "operationId": "Reporting.ExportAllFlavors",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/flavors/excel": {
      "get": {
        "tags": [
          "Flavors"
        ],
        "summary": "Get flavors (Excel)",
        "description": "Exports all flavors into an Excel file for further processing or documentation. This is useful when you need an offline overview of all value sets used in reporting and configuration. Date and time values, if present, are formatted with the provided timezone.",
        "operationId": "Reporting.ExportAllFlavorsExcel",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/permissions/project/{projectId}": {
      "get": {
        "tags": [
          "Privacy / Permissions"
        ],
        "summary": "Get project permissions",
        "description": "Returns a permissions report for a single project, showing which users or teams have access and which roles they have. Use this endpoint to review or audit project-level access rights. The report content can be returned as CSV or JSON and localized via lang.",
        "operationId": "Reporting.GetProjectPermissionsCsv",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Unique identifier for the project.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the project."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/permissions/project/excel/{projectId}": {
      "get": {
        "tags": [
          "Privacy / Permissions"
        ],
        "summary": "Export project permissions (Excel)",
        "description": "Exports project permissions for the specified project into an Excel file. This is useful for compliance reviews, audits, or sharing permissions with stakeholders. Time-related information is formatted using the specified timezone.",
        "operationId": "Reporting.GetProjectPermissionsExcel",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Unique identifier for the project.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the project."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/permissions/task/{taskId}": {
      "get": {
        "tags": [
          "Privacy / Permissions"
        ],
        "summary": "Get task permissions",
        "description": "Returns a permissions report for a specific task. Use this endpoint to check who can view or edit a task and which roles apply. The report can be localized via lang and returned as CSV or JSON.",
        "operationId": "Reporting.GetTaskPermissionsCsv",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Unique identifier for the task.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the task."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/permissions/task/excel/{taskId}": {
      "get": {
        "tags": [
          "Privacy / Permissions"
        ],
        "summary": "Export task permissions (Excel)",
        "description": "Exports permissions for a specific task as an Excel file. This helps with detailed access reviews for sensitive or critical tasks. Time formatting is controlled via the timezone header.",
        "operationId": "Reporting.GetTaskPermissionsExcel",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Unique identifier for the task.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the task."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/projects": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Get all projects",
        "description": "Returns a report of all projects the caller is allowed to see, optionally filtered and formatted according to query parameters. Use this endpoint for portfolio-level reporting or to feed project lists into BI tools. Views and filters let you customize the set of projects and the columns included in the export.",
        "operationId": "Reporting.ReportProjectsWithGlobalFilter",
        "parameters": [
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "One of these values: all, active, archived or templates.",
            "schema": {
              "type": "string",
              "description": "One of these values: all, active, archived or templates."
            }
          },
          {
            "name": "includeTagsInArchived",
            "in": "query",
            "description": "Include flavors in archived project.",
            "schema": {
              "type": "boolean",
              "description": "Include flavors in archived project."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Projects"
        ],
        "summary": "Get all projects (POST with advanced filters)",
        "description": "Same as the GET endpoint, but accepts additional filter criteria or configuration in the request body. Use this endpoint for integrations that build dynamic project filters or reuse complex saved configurations. The response contains the project report in CSV or JSON format as specified.",
        "operationId": "Reporting.ReportProjectsFiltered",
        "parameters": [
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "globalProjectsFilter",
            "in": "query",
            "description": "One of these values: all, active, archived or templates.",
            "schema": {
              "type": "string",
              "description": "One of these values: all, active, archived or templates."
            }
          },
          {
            "name": "includeTagsInArchived",
            "in": "query",
            "description": "Include flavors in archived project.",
            "schema": {
              "type": "boolean",
              "description": "Include flavors in archived project."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/projects/{projectId}": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Get project",
        "description": "Returns a report containing only the project referenced by `projectId`. Use this endpoint when you need data for a specific project, for example for a dashboard or external integration. Filtering, views, and formats work the same as on the /projects endpoint.",
        "operationId": "Reporting.ReportProjects",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "globalProjectsFilter",
            "in": "query",
            "description": "One of these values: all, active, archived or templates.",
            "schema": {
              "type": "string",
              "description": "One of these values: all, active, archived or templates."
            }
          },
          {
            "name": "includeTagsInArchived",
            "in": "query",
            "description": "Include flavors in archived project.",
            "schema": {
              "type": "boolean",
              "description": "Include flavors in archived project."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/projects/excel": {
      "post": {
        "tags": [
          "Projects"
        ],
        "summary": "Get projects (Excel)",
        "description": "Generates an Excel file with project data based on the selected view, filters, and optional body configuration. Use this endpoint to create portfolio reports that can be shared or further processed in Excel. The headers and globalProjectsFilter let you control which columns and projects are included.",
        "operationId": "Reporting.ReportProjectsExcel",
        "parameters": [
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "globalProjectsFilter",
            "in": "query",
            "description": "One of these values: all, active, archived or templates.",
            "schema": {
              "type": "string",
              "description": "One of these values: all, active, archived or templates."
            }
          },
          {
            "name": "includeTagsInArchived",
            "in": "query",
            "description": "Include flavors in archived project.",
            "schema": {
              "type": "boolean",
              "description": "Include flavors in archived project."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/projectsFiltered/{filter}": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Get projects by saved filter",
        "description": "Returns a project report using a predefined or saved filter specified by the filter path parameter. This is useful when you want to reuse a known filter configuration (for example “all active projects” or “my portfolio”) directly via the API. Additional parameters like view and globalProjectsFilter can further refine the result.",
        "operationId": "Reporting.ReportProjectsBySavedFilter",
        "parameters": [
          {
            "name": "filter",
            "in": "path",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "globalProjectsFilter",
            "in": "query",
            "description": "One of these values: all, active, archived or templates.",
            "schema": {
              "type": "string",
              "description": "One of these values: all, active, archived or templates."
            }
          },
          {
            "name": "includeTagsInArchived",
            "in": "query",
            "description": "Include flavors in archived project.",
            "schema": {
              "type": "boolean",
              "description": "Include flavors in archived project."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/settings/member": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get member settings",
        "description": "Returns a report of settings related to workspace members (for example attributes used in reporting such as working time models or cost-related settings). Use this endpoint to export configuration data that influences how reports are calculated. The result is available as CSV or JSON and can be localized with lang.",
        "operationId": "Reporting.GetMemberSettingsCsv",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/settings/member/excel": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get member settings (Excel)",
        "description": "Exports member-related settings to an Excel file. This is useful when you need to review or share user configuration data with HR or controlling. Date and time fields are formatted using the specified timezone.",
        "operationId": "Reporting.GetMemberSettingsExcel",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/tasks/{projectId}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get tasks for project",
        "description": "Returns a task report for the specified project. Use this endpoint to analyze all tasks within a project, including status, scheduling, assignments, and custom fields. Views and filters allow you to control which tasks and columns appear in the result.",
        "operationId": "Reporting.ExportProjectPlain",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Unique identifier for the project.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the project."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "schema": {
              "type": "string",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get tasks for project (POST with advanced filters)",
        "description": "Similar to the GET endpoint but accepts more complex or larger filter configurations in the request body. Use this variant for integrations that need dynamic task queries or reusable filter definitions. The response contains the task report in CSV or JSON format.",
        "operationId": "Reporting.ExportProjectPlainFiltered",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Unique identifier for the project.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the project."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/tasks/excel/{projectId}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get tasks for project (Excel)",
        "description": "Exports all tasks of a project into an Excel file based on the given view, headers, and other parameters. Use this endpoint to create detailed task lists for offline analysis or status meetings. Time-related information is formatted according to timezone.",
        "operationId": "Reporting.ReportTasksExcel",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Unique identifier for the project.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the project."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get tasks for project (Excel, POST with advanced filters)",
        "description": "Same as the GET Excel export but supports complex filter configurations in the request body. Ideal for automated reporting or integrations that need fine-grained control over which tasks are exported. The response is an Excel file ready for download.",
        "operationId": "Reporting.ReportTasksExcelFiltered",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Unique identifier for the project.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier for the project."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated unique identifiers for tasks"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/tasks/filtered": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get tasks by filter",
        "description": "Returns a task report across projects based on the filterInfo parameter and other query filters. Use this endpoint when you want a cross-project task list filtered by criteria such as status, assignee, dates, or tags. globalProjectsFilter controls which projects are included in the evaluation.",
        "operationId": "Reporting.ExportFilteredTasks",
        "parameters": [
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "filterInfo",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FilterInfo"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "globalProjectsFilter",
            "in": "query",
            "description": "One of these values: all, active, archived or templates.",
            "schema": {
              "type": "string",
              "description": "One of these values: all, active, archived or templates.",
              "default": "all"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/tasks/filtered/excel": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Export tasks by filter (Excel)",
        "description": "Exports filtered tasks across projects as an Excel file using the filterInfo definition and other parameters. Use this endpoint for organization-wide task overviews that need to be processed outside the application. Time formatting is controlled via timezone.",
        "operationId": "Reporting.ExportFilteredTasksExcel",
        "parameters": [
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "filterInfo",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FilterInfo"
            }
          },
          {
            "name": "globalProjectsFilter",
            "in": "query",
            "description": "One of these values: all, active, archived or templates.",
            "schema": {
              "type": "string",
              "description": "One of these values: all, active, archived or templates.",
              "default": "all"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/teams": {
      "get": {
        "tags": [
          "Teams"
        ],
        "summary": "Get all teams",
        "description": "Returns a report of all teams in the workspace. Use this endpoint to export team structures, membership, or configuration for further analysis or documentation. The output can be formatted as CSV or JSON and localized via lang.",
        "operationId": "Reporting.ExportTeamsCsv",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/teams/excel": {
      "get": {
        "tags": [
          "Teams"
        ],
        "summary": "Get all teams (Excel)",
        "description": "Exports all teams into an Excel file. This is useful when you need an offline overview of team structures or want to share team information with other systems or stakeholders. Date and time fields are formatted with the provided timezone.",
        "operationId": "Reporting.ExportTeamsExcel",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/times/{mode}": {
      "get": {
        "tags": [
          "Time records"
        ],
        "summary": "Get time records",
        "description": "Returns a report of time records (work logs) in the selected mode, for example grouped by project, user, or task. Use this endpoint for effort tracking, controlling, and billing scenarios. Filters, views, and headers allow you to customize which time entries and columns are included.",
        "operationId": "Reporting.ExportTimesCsv",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Time records"
        ],
        "summary": "Get time records (POST with advanced filters)",
        "description": "Similar to the GET endpoint but allows you to send complex filter definitions or configurations in the request body. Use this variant for integrations that need dynamic time reporting criteria or want to reuse saved filter sets. The report is returned in the requested format.",
        "operationId": "Reporting.ExportTimesCsvExtended",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/times/excel/{mode}": {
      "get": {
        "tags": [
          "Time records"
        ],
        "summary": "Get time records (Excel)",
        "description": "Generates an Excel file with time records in the specified mode. Use this endpoint to export timesheets for billing, invoicing, or offline analysis. Query parameters like filter, view, and lang can be used to tailor the export.",
        "operationId": "Reporting.ExportTimesExcel",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Time records"
        ],
        "summary": "Get time records(Excel, POST with advanced filters)",
        "description": "Same as the GET Excel export but supports complex filter or configuration data in the request body. Ideal for automated time export jobs or integrations with financial systems. The endpoint returns an Excel file containing the selected time records.",
        "operationId": "Reporting.ExportTimesExcelExtended",
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\".",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Determines the report variant for this endpoint. Valid values are \"my\" and \"all\"."
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project).",
            "schema": {
              "type": "string",
              "description": "Optional filter expression defining which records are included in the report (for example by date range, status, assignee, or project)."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/api/reports/times/tasks/{projectId}": {
      "post": {
        "tags": [
          "Time records"
        ],
        "summary": "Get time records per task for project",
        "description": "Returns time records aggregated or grouped by tasks for a single project, using POST to allow complex filters in the request body. Use this endpoint to analyze how effort is distributed across tasks within a project, for example for controlling or project reviews. The report can be returned as CSV or JSON, with timestamps formatted according to timezone.",
        "operationId": "Reporting.ExportTimesPlainFiltered",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Unique identifier of the project to generate the report for.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Unique identifier of the project to generate the report for."
            }
          },
          {
            "name": "view",
            "in": "query",
            "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report.",
            "schema": {
              "type": "string",
              "description": "Identifier of a saved view or layout configuration that controls which columns and sorting are used in the report."
            }
          },
          {
            "name": "lang",
            "in": "query",
            "description": "Language code used for localized column names and texts in the report (for example de or en).",
            "schema": {
              "type": "string",
              "description": "Language code used for localized column names and texts in the report (for example de or en)."
            }
          },
          {
            "name": "headers",
            "in": "query",
            "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set.",
            "schema": {
              "type": "string",
              "description": "Comma-separated list of column keys that should be included in the export; leave empty to use the default column set."
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Output format in which the report data should be returned (for example CSV or JSON).",
            "schema": {
              "type": "string",
              "description": "Output format in which the report data should be returned (for example CSV or JSON).",
              "default": "CSV"
            }
          },
          {
            "name": "timezone",
            "in": "header",
            "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
            "schema": {
              "type": "string",
              "description": "IANA time zone identifier that is used to format all date and time values in the report (for example Europe/Berlin).",
              "default": "Europe/Berlin"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A comma separated list of uniqe identifiers."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "FilterInfo": {
        "type": "object",
        "properties": {
          "base64String": {
            "type": "string",
            "nullable": true
          },
          "base64StringValid": {
            "type": "boolean",
            "readOnly": true
          },
          "filterString": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "APIKey": {
        "type": "apiKey",
        "description": "smenso API Token",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "Time records",
      "description": "Creates reports for time records",
      "x-displayName": "Time records"
    },
    {
      "name": "Tasks",
      "description": "Creates reports for tasks",
      "x-displayName": "Tasks"
    },
    {
      "name": "Projects",
      "description": "Creates reports for projects",
      "x-displayName": "Projects"
    },
    {
      "name": "Absences",
      "description": "Creates reports for absences",
      "x-displayName": "Absences"
    },
    {
      "name": "Flavors",
      "description": "Create reports for flavors",
      "x-displayName": "Flavors"
    },
    {
      "name": "Teams",
      "description": "Creates reports for teams",
      "x-displayName": "Teams"
    },
    {
      "name": "Attachments",
      "description": "Creates reports for attachments",
      "x-displayName": "Attachments"
    },
    {
      "name": "Documents",
      "description": "Creates reports for documents",
      "x-displayName": "Documents"
    },
    {
      "name": "Privacy / Permissions",
      "description": "Creates reports for privacy and permission settings",
      "x-displayName": "Privacy / Permissions"
    },
    {
      "name": "Comments",
      "description": "Creates reports for comments",
      "x-displayName": "Comments"
    },
    {
      "name": "Settings",
      "x-displayName": "Settings"
    }
  ]
}