# Reports

## get_reports

`TOOL get_reports`

Get list of available reports for the authenticated user's organization

Authentication: no security requirement declared for this operation.

Parameters:

- `page` (argument, number, optional) - Page number for pagination
  Type: number
  
  Page number for pagination
  
  default: 1

- `limit` (argument, number, optional) - Number of items per page
  Type: number
  
  Number of items per page
  
  default: 10

- `search` (argument, string, optional) - Search term for report name or description
  Type: string
  
  Search term for report name or description

- `relations` (argument, array, optional) - Relations to include (e.g., ["reportOrganizations"])
  Type: array
  
  Relations to include (e.g., ["reportOrganizations"])
  
  Items:
    Type: string

- `category` (argument, string, optional) - Filter by report category
  Type: string
  
  Filter by report category
  
  enum: ["FINANCIAL","HR","PROJECT","TIME_TRACKING","SALES","CUSTOM"]

- `showInMenu` (argument, boolean, optional) - Filter by menu visibility
  Type: boolean
  
  Filter by menu visibility

- `enabled` (argument, boolean, optional) - Filter by enabled status for organization
  Type: boolean
  
  Filter by enabled status for organization

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_reports",
    "arguments": {
        "page": 1,
        "limit": 10,
        "search": "string",
        "relations": [
          "string"
        ],
        "category": "FINANCIAL",
        "showInMenu": true,
        "enabled": true
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_reports",
  "arguments": {
    "page": 1,
    "limit": 10,
    "search": "string",
    "relations": [
      "string"
    ],
    "category": "FINANCIAL",
    "showInMenu": true,
    "enabled": true
  }
});
```

### Python

```python
result = await session.call_tool("get_reports", arguments={
  "page": 1,
  "limit": 10,
  "search": "string",
  "relations": [
    "string"
  ],
  "category": "FINANCIAL",
  "showInMenu": true,
  "enabled": true
})
```


## get_report_categories

`TOOL get_report_categories`

Get available report categories

Authentication: no security requirement declared for this operation.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_report_categories",
    "arguments": {}
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_report_categories",
  "arguments": {}
});
```

### Python

```python
result = await session.call_tool("get_report_categories", arguments={})
```


## get_report_menu_items

`TOOL get_report_menu_items`

Get report menu items for the organization

Authentication: no security requirement declared for this operation.

Parameters:

- `relations` (argument, array, optional) - Relations to include
  Type: array
  
  Relations to include
  
  Items:
    Type: string

- `category` (argument, string, optional) - Filter by report category
  Type: string
  
  Filter by report category
  
  enum: ["FINANCIAL","HR","PROJECT","TIME_TRACKING","SALES","CUSTOM"]

- `showInMenu` (argument, boolean, optional) - Filter by menu visibility
  Type: boolean
  
  Filter by menu visibility

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_report_menu_items",
    "arguments": {
        "relations": [
          "string"
        ],
        "category": "FINANCIAL",
        "showInMenu": true
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_report_menu_items",
  "arguments": {
    "relations": [
      "string"
    ],
    "category": "FINANCIAL",
    "showInMenu": true
  }
});
```

### Python

```python
result = await session.call_tool("get_report_menu_items", arguments={
  "relations": [
    "string"
  ],
  "category": "FINANCIAL",
  "showInMenu": true
})
```


## update_report_menu

`TOOL update_report_menu`

Update report menu settings for the organization

Authentication: no security requirement declared for this operation.

Parameters:

- `reportId` (argument, string, uuid, required) - The report ID
  Type: string, uuid
  
  The report ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `isEnabled` (argument, boolean, required) - Whether to enable or disable the report in menu
  Type: boolean
  
  Whether to enable or disable the report in menu

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_report_menu",
    "arguments": {
        "reportId": "550e8400-e29b-41d4-a716-446655440000",
        "isEnabled": true
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "update_report_menu",
  "arguments": {
    "reportId": "550e8400-e29b-41d4-a716-446655440000",
    "isEnabled": true
  }
});
```

### Python

```python
result = await session.call_tool("update_report_menu", arguments={
  "reportId": "550e8400-e29b-41d4-a716-446655440000",
  "isEnabled": true
})
```
