# Key Results

## get_key_results

`TOOL get_key_results`

Get list of key results 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 key result name or description
  Type: string
  
  Search term for key result name or description

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

- `goalId` (argument, string, uuid, optional) - Filter by goal ID
  Type: string, uuid
  
  Filter by goal 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)$"

- `ownerId` (argument, string, uuid, optional) - Filter by owner ID
  Type: string, uuid
  
  Filter by owner 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)$"

- `status` (argument, string, optional) - Filter by key result status
  Type: string
  
  Filter by key result status

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_key_results",
    "arguments": {
        "page": 1,
        "limit": 10,
        "search": "string",
        "relations": [
          "string"
        ],
        "goalId": "550e8400-e29b-41d4-a716-446655440000",
        "ownerId": "550e8400-e29b-41d4-a716-446655440000",
        "status": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_key_results",
  "arguments": {
    "page": 1,
    "limit": 10,
    "search": "string",
    "relations": [
      "string"
    ],
    "goalId": "550e8400-e29b-41d4-a716-446655440000",
    "ownerId": "550e8400-e29b-41d4-a716-446655440000",
    "status": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_key_results", arguments={
  "page": 1,
  "limit": 10,
  "search": "string",
  "relations": [
    "string"
  ],
  "goalId": "550e8400-e29b-41d4-a716-446655440000",
  "ownerId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "string"
})
```


## get_key_result_count

`TOOL get_key_result_count`

Get key result count in the authenticated user's organization

Authentication: no security requirement declared for this operation.

Parameters:

- `goalId` (argument, string, uuid, optional) - Filter by goal ID
  Type: string, uuid
  
  Filter by goal 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)$"

- `ownerId` (argument, string, uuid, optional) - Filter by owner ID
  Type: string, uuid
  
  Filter by owner 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)$"

- `status` (argument, string, optional) - Filter by key result status
  Type: string
  
  Filter by key result status

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_key_result_count",
    "arguments": {
        "goalId": "550e8400-e29b-41d4-a716-446655440000",
        "ownerId": "550e8400-e29b-41d4-a716-446655440000",
        "status": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_key_result_count",
  "arguments": {
    "goalId": "550e8400-e29b-41d4-a716-446655440000",
    "ownerId": "550e8400-e29b-41d4-a716-446655440000",
    "status": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_key_result_count", arguments={
  "goalId": "550e8400-e29b-41d4-a716-446655440000",
  "ownerId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "string"
})
```


## get_key_result

`TOOL get_key_result`

Get a specific key result by ID

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The key result ID
  Type: string, uuid
  
  The key result 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)$"

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

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_key_result",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "relations": [
          "string"
        ]
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_key_result",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "relations": [
      "string"
    ]
  }
});
```

### Python

```python
result = await session.call_tool("get_key_result", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "relations": [
    "string"
  ]
})
```


## create_key_result

`TOOL create_key_result`

Create a new key result in the authenticated user's organization

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `key_result_data` (required)
  Type: object
  
  The data for creating the key result
  
  - `name` (required)
    Type: string
    
    The key result name (required)
  
  - `goalId` (required)
    Type: string
    
    The goal ID (required)
  
  - `deadline` (required)
    Type: string
    
    The deadline (required)
  
  Additional properties: 
    Type: unknown

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_key_result",
    "arguments": {
        "key_result_data": {
          "name": "string",
          "goalId": "string",
          "deadline": "string"
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "create_key_result",
  "arguments": {
    "key_result_data": {
      "name": "string",
      "goalId": "string",
      "deadline": "string"
    }
  }
});
```

### Python

```python
result = await session.call_tool("create_key_result", arguments={
  "key_result_data": {
    "name": "string",
    "goalId": "string",
    "deadline": "string"
  }
})
```


## update_key_result

`TOOL update_key_result`

Update an existing key result

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The key result ID
  Type: string, uuid
  
  The key result 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)$"

- `key_result_data` (argument, object, required) - The data for updating the key result
  Type: object
  
  The data for updating the key result
  
  Additional properties: 
    Type: unknown

## Examples

### JSON-RPC

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

### TypeScript

```typescript
const result = await client.callTool({
  "name": "update_key_result",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key_result_data": {}
  }
});
```

### Python

```python
result = await session.call_tool("update_key_result", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "key_result_data": {}
})
```


## update_key_result_progress

`TOOL update_key_result_progress`

Update the progress of a key result

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The key result ID
  Type: string, uuid
  
  The key result 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)$"

- `progress` (argument, number, required) - The progress percentage (0-100)
  Type: number
  
  The progress percentage (0-100)
  
  minimum: 0
  
  maximum: 100

- `update` (argument, number, optional) - The current update value
  Type: number
  
  The current update value

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_key_result_progress",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "progress": 0,
        "update": 0
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "update_key_result_progress",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "progress": 0,
    "update": 0
  }
});
```

### Python

```python
result = await session.call_tool("update_key_result_progress", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "progress": 0,
  "update": 0
})
```


## delete_key_result

`TOOL delete_key_result`

Delete a key result

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The key result ID
  Type: string, uuid
  
  The key result 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)$"

## Examples

### JSON-RPC

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

### TypeScript

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

### Python

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


## get_key_results_by_goal

`TOOL get_key_results_by_goal`

Get all key results for a specific goal

Authentication: no security requirement declared for this operation.

Parameters:

- `goalId` (argument, string, uuid, required) - The goal ID
  Type: string, uuid
  
  The goal 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)$"

- `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

- `status` (argument, string, optional) - Filter by key result status
  Type: string
  
  Filter by key result status

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

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_key_results_by_goal",
    "arguments": {
        "goalId": "550e8400-e29b-41d4-a716-446655440000",
        "page": 1,
        "limit": 10,
        "status": "string",
        "relations": [
          "string"
        ]
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_key_results_by_goal",
  "arguments": {
    "goalId": "550e8400-e29b-41d4-a716-446655440000",
    "page": 1,
    "limit": 10,
    "status": "string",
    "relations": [
      "string"
    ]
  }
});
```

### Python

```python
result = await session.call_tool("get_key_results_by_goal", arguments={
  "goalId": "550e8400-e29b-41d4-a716-446655440000",
  "page": 1,
  "limit": 10,
  "status": "string",
  "relations": [
    "string"
  ]
})
```


## get_my_key_results

`TOOL get_my_key_results`

Get key results assigned to the current authenticated user

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

- `status` (argument, string, optional) - Filter by key result status
  Type: string
  
  Filter by key result status

- `goalId` (argument, string, uuid, optional) - Filter by specific goal ID
  Type: string, uuid
  
  Filter by specific goal 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)$"

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_my_key_results",
    "arguments": {
        "page": 1,
        "limit": 10,
        "status": "string",
        "goalId": "550e8400-e29b-41d4-a716-446655440000"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_my_key_results",
  "arguments": {
    "page": 1,
    "limit": 10,
    "status": "string",
    "goalId": "550e8400-e29b-41d4-a716-446655440000"
  }
});
```

### Python

```python
result = await session.call_tool("get_my_key_results", arguments={
  "page": 1,
  "limit": 10,
  "status": "string",
  "goalId": "550e8400-e29b-41d4-a716-446655440000"
})
```


## create_key_result_update

`TOOL create_key_result_update`

Create an update for a key result

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `keyResultId` (required)
  Type: string, uuid
  
  The key result 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)$"

- `update_data` (required)
  Type: object
  
  The update data
  
  - `update` (required)
    Type: number
    
    The current value/update
  
  - `progress` (required)
    Type: number
    
    The progress percentage (0-100)
    
    minimum: 0
    
    maximum: 100
  
  - `description` (optional)
    Type: string
    
    Description of the update
  
  - `status` (optional)
    Type: string
    
    Status of the key result

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_key_result_update",
    "arguments": {
        "keyResultId": "550e8400-e29b-41d4-a716-446655440000",
        "update_data": {
          "update": 0,
          "progress": 0,
          "description": "string",
          "status": "string"
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "create_key_result_update",
  "arguments": {
    "keyResultId": "550e8400-e29b-41d4-a716-446655440000",
    "update_data": {
      "update": 0,
      "progress": 0,
      "description": "string",
      "status": "string"
    }
  }
});
```

### Python

```python
result = await session.call_tool("create_key_result_update", arguments={
  "keyResultId": "550e8400-e29b-41d4-a716-446655440000",
  "update_data": {
    "update": 0,
    "progress": 0,
    "description": "string",
    "status": "string"
  }
})
```


## get_key_result_updates

`TOOL get_key_result_updates`

Get updates for a specific key result

Authentication: no security requirement declared for this operation.

Parameters:

- `keyResultId` (argument, string, uuid, required) - The key result ID
  Type: string, uuid
  
  The key result 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)$"

- `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

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_key_result_updates",
    "arguments": {
        "keyResultId": "550e8400-e29b-41d4-a716-446655440000",
        "page": 1,
        "limit": 10
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_key_result_updates",
  "arguments": {
    "keyResultId": "550e8400-e29b-41d4-a716-446655440000",
    "page": 1,
    "limit": 10
  }
});
```

### Python

```python
result = await session.call_tool("get_key_result_updates", arguments={
  "keyResultId": "550e8400-e29b-41d4-a716-446655440000",
  "page": 1,
  "limit": 10
})
```


## get_key_result_statistics

`TOOL get_key_result_statistics`

Get key result statistics for the authenticated user's organization

Authentication: no security requirement declared for this operation.

Parameters:

- `goalId` (argument, string, uuid, optional) - Filter by specific goal ID
  Type: string, uuid
  
  Filter by specific goal 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)$"

- `ownerId` (argument, string, uuid, optional) - Filter by owner ID
  Type: string, uuid
  
  Filter by owner 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)$"

- `startDate` (argument, string, optional) - Start date for statistics (ISO format)
  Type: string
  
  Start date for statistics (ISO format)

- `endDate` (argument, string, optional) - End date for statistics (ISO format)
  Type: string
  
  End date for statistics (ISO format)

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_key_result_statistics",
    "arguments": {
        "goalId": "550e8400-e29b-41d4-a716-446655440000",
        "ownerId": "550e8400-e29b-41d4-a716-446655440000",
        "startDate": "string",
        "endDate": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_key_result_statistics",
  "arguments": {
    "goalId": "550e8400-e29b-41d4-a716-446655440000",
    "ownerId": "550e8400-e29b-41d4-a716-446655440000",
    "startDate": "string",
    "endDate": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_key_result_statistics", arguments={
  "goalId": "550e8400-e29b-41d4-a716-446655440000",
  "ownerId": "550e8400-e29b-41d4-a716-446655440000",
  "startDate": "string",
  "endDate": "string"
})
```
