> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API reference for Jira: every `jira.api.*` operation with input and output types.

Every `jira.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

<Info>
  **New to Corsair?** See [API access](/concepts/api), [authentication](/concepts/auth), and [error handling](/concepts/error-handling).
</Info>

## Comments

### add

`comments.add`

Add a comment to a Jira issue

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.comments.add({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `comment` | `string` | Yes | — |
| `visibility_type` | `string` | No | — |
| `visibility_value` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `self` | `string` | No | — |
| `author` | `object` | No | — |
| `created` | `string` | No | — |

<AccordionGroup>
  <Accordion title="author full type">
    ```ts theme={null}
    {
      accountId?: string,
      displayName?: string,
      emailAddress?: string,
      active?: boolean,
      avatarUrls?: {
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### delete

`comments.delete`

Delete a comment from a Jira issue

**Risk:** `destructive`

```ts theme={null}
await corsair.jira.api.comments.delete({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `comment_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |

***

### get

`comments.get`

Get a specific comment on a Jira issue

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.comments.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `comment_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `self` | `string` | No | — |
| `author` | `object` | No | — |
| `body` | `any` | No | — |
| `renderedBody` | `string` | No | — |
| `created` | `string` | No | — |
| `updated` | `string` | No | — |

<AccordionGroup>
  <Accordion title="author full type">
    ```ts theme={null}
    {
      accountId?: string,
      displayName?: string,
      emailAddress?: string,
      active?: boolean,
      avatarUrls?: {
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### list

`comments.list`

List all comments on a Jira issue

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.comments.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |
| `order_by` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `startAt` | `number` | No | — |
| `maxResults` | `number` | No | — |
| `comments` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="comments full type">
    ```ts theme={null}
    {
      id?: string,
      self?: string,
      author?: {
        accountId?: string,
        displayName?: string,
        emailAddress?: string,
        active?: boolean,
        avatarUrls?: {
        }
      },
      body?: any,
      renderedBody?: string,
      created?: string,
      updated?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### update

`comments.update`

Update a comment on a Jira issue

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.comments.update({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `comment_id` | `string` | Yes | — |
| `comment` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `self` | `string` | No | — |
| `author` | `object` | No | — |
| `body` | `any` | No | — |
| `renderedBody` | `string` | No | — |
| `created` | `string` | No | — |
| `updated` | `string` | No | — |

<AccordionGroup>
  <Accordion title="author full type">
    ```ts theme={null}
    {
      accountId?: string,
      displayName?: string,
      emailAddress?: string,
      active?: boolean,
      avatarUrls?: {
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Groups

### create

`groups.create`

Create a new Jira group

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.groups.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `groupId` | `string` | No | — |
| `name` | `string` | No | — |
| `self` | `string` | No | — |

***

### getAll

`groups.getAll`

Get all Jira groups

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.groups.getAll({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `header` | `string` | No | — |
| `groups` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="groups full type">
    ```ts theme={null}
    {
      groupId?: string,
      name?: string,
      html?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Issues

### addAttachment

`issues.addAttachment`

Add an attachment to a Jira issue

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.addAttachment({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `file_name` | `string` | Yes | — |
| `file_content` | `string` | No | — |
| `file_url` | `string` | No | — |
| `mime_type` | `string` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string,
      self?: string,
      filename?: string,
      mimeType?: string,
      size?: number,
      content?: string,
      created?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### addWatcher

`issues.addWatcher`

Add a watcher to a Jira issue

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.addWatcher({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `account_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |

***

### assign

`issues.assign`

Assign a Jira issue to a user

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.assign({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `account_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |

***

### bulkCreate

`issues.bulkCreate`

Bulk create multiple Jira issues

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.bulkCreate({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issues` | `object[]` | Yes | — |

<AccordionGroup>
  <Accordion title="issues full type">
    ```ts theme={null}
    {
      project_key: string,
      summary: string,
      issue_type?: string,
      description?: string,
      assignee?: string,
      priority?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `issues` | `object[]` | No | — |
| `errors` | `any[]` | No | — |

<AccordionGroup>
  <Accordion title="issues full type">
    ```ts theme={null}
    {
      id?: string,
      key?: string,
      self?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### bulkFetch

`issues.bulkFetch`

Bulk fetch multiple Jira issues by ID or key

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.issues.bulkFetch({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_ids_or_keys` | `string[]` | Yes | — |
| `fields` | `string[]` | No | — |
| `expand` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `issues` | `object[]` | No | — |
| `issueErrors` | `any[]` | No | — |

<AccordionGroup>
  <Accordion title="issues full type">
    ```ts theme={null}
    {
      id: string,
      key?: string,
      self?: string,
      fields?: {
        summary?: string,
        description?: any,
        status?: {
          id?: string,
          name?: string,
          statusCategory?: {
            id?: number,
            key?: string,
            name?: string
          }
        },
        assignee?: {
          accountId?: string,
          displayName?: string,
          emailAddress?: string,
          active?: boolean,
          avatarUrls?: {
          }
        } | null,
        reporter?: {
          accountId?: string,
          displayName?: string,
          emailAddress?: string,
          active?: boolean,
          avatarUrls?: {
          }
        },
        priority?: {
          id?: string,
          name?: string,
          iconUrl?: string
        } | null,
        issuetype?: {
          id?: string,
          name?: string,
          description?: string,
          subtask?: boolean
        },
        project?: {
          id?: string,
          key?: string,
          name?: string
        },
        labels?: string[],
        created?: string,
        updated?: string,
        comment?: {
          total?: number,
          comments?: any[]
        }
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### create

`issues.create`

Create a new Jira issue

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `project_key` | `string` | Yes | — |
| `summary` | `string` | Yes | — |
| `issue_type` | `string` | No | — |
| `description` | `string` | No | — |
| `assignee` | `string` | No | — |
| `priority` | `string` | No | — |
| `labels` | `string[]` | No | — |
| `due_date` | `string` | No | — |
| `parent` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `key` | `string` | No | — |
| `self` | `string` | No | — |

***

### delete

`issues.delete`

Delete a Jira issue

**Risk:** `destructive`

```ts theme={null}
await corsair.jira.api.issues.delete({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `delete_subtasks` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |
| `message` | `string` | No | — |

***

### edit

`issues.edit`

Edit an existing Jira issue

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.edit({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `summary` | `string` | No | — |
| `description` | `string` | No | — |
| `assignee` | `string` | No | — |
| `priority` | `string` | No | — |
| `labels` | `string[]` | No | — |
| `due_date` | `string` | No | — |
| `notify_users` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |
| `issue_key` | `string` | No | — |

***

### get

`issues.get`

Get a Jira issue by ID or key

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.issues.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `fields` | `string` | No | — |
| `expand` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `key` | `string` | No | — |
| `self` | `string` | No | — |
| `fields` | `object` | No | — |

<AccordionGroup>
  <Accordion title="fields full type">
    ```ts theme={null}
    {
      summary?: string,
      description?: any,
      status?: {
        id?: string,
        name?: string,
        statusCategory?: {
          id?: number,
          key?: string,
          name?: string
        }
      },
      assignee?: {
        accountId?: string,
        displayName?: string,
        emailAddress?: string,
        active?: boolean,
        avatarUrls?: {
        }
      } | null,
      reporter?: {
        accountId?: string,
        displayName?: string,
        emailAddress?: string,
        active?: boolean,
        avatarUrls?: {
        }
      },
      priority?: {
        id?: string,
        name?: string,
        iconUrl?: string
      } | null,
      issuetype?: {
        id?: string,
        name?: string,
        description?: string,
        subtask?: boolean
      },
      project?: {
        id?: string,
        key?: string,
        name?: string
      },
      labels?: string[],
      created?: string,
      updated?: string,
      comment?: {
        total?: number,
        comments?: any[]
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getTransitions

`issues.getTransitions`

Get available transitions for a Jira issue

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.issues.getTransitions({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `transitions` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="transitions full type">
    ```ts theme={null}
    {
      id?: string,
      name?: string,
      to?: {
        id?: string,
        name?: string,
        statusCategory?: {
          id?: number,
          key?: string,
          name?: string
        }
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### linkIssues

`issues.linkIssues`

Link two Jira issues together

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.linkIssues({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `link_type` | `string` | Yes | — |
| `inward_issue_key` | `string` | Yes | — |
| `outward_issue_key` | `string` | Yes | — |
| `comment` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |

***

### removeWatcher

`issues.removeWatcher`

Remove a watcher from a Jira issue

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.removeWatcher({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `account_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |

***

### search

`issues.search`

Search issues using JQL

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.issues.search({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `jql` | `string` | Yes | — |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |
| `fields` | `string` | No | — |
| `expand` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `startAt` | `number` | No | — |
| `maxResults` | `number` | No | — |
| `issues` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="issues full type">
    ```ts theme={null}
    {
      id: string,
      key?: string,
      self?: string,
      fields?: {
        summary?: string,
        description?: any,
        status?: {
          id?: string,
          name?: string,
          statusCategory?: {
            id?: number,
            key?: string,
            name?: string
          }
        },
        assignee?: {
          accountId?: string,
          displayName?: string,
          emailAddress?: string,
          active?: boolean,
          avatarUrls?: {
          }
        } | null,
        reporter?: {
          accountId?: string,
          displayName?: string,
          emailAddress?: string,
          active?: boolean,
          avatarUrls?: {
          }
        },
        priority?: {
          id?: string,
          name?: string,
          iconUrl?: string
        } | null,
        issuetype?: {
          id?: string,
          name?: string,
          description?: string,
          subtask?: boolean
        },
        project?: {
          id?: string,
          key?: string,
          name?: string
        },
        labels?: string[],
        created?: string,
        updated?: string,
        comment?: {
          total?: number,
          comments?: any[]
        }
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### transition

`issues.transition`

Transition a Jira issue to a new status

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.issues.transition({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `issue_id_or_key` | `string` | Yes | — |
| `transition_id` | `string` | Yes | — |
| `comment` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |

***

## Projects

### create

`projects.create`

Create a new Jira project

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.projects.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `key` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `project_type_key` | `string` | No | — |
| `description` | `string` | No | — |
| `lead_account_id` | `string` | No | — |
| `assignee_type` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string \| number` | No | — |
| `key` | `string` | No | — |
| `self` | `string` | No | — |

***

### get

`projects.get`

Get a Jira project by ID or key

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.projects.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `project_id_or_key` | `string` | Yes | — |
| `expand` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `key` | `string` | No | — |
| `name` | `string` | No | — |
| `description` | `string` | No | — |
| `projectTypeKey` | `string` | No | — |
| `lead` | `object` | No | — |
| `self` | `string` | No | — |

<AccordionGroup>
  <Accordion title="lead full type">
    ```ts theme={null}
    {
      accountId?: string,
      displayName?: string,
      emailAddress?: string,
      active?: boolean,
      avatarUrls?: {
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getRoles

`projects.getRoles`

Get project roles for a Jira project

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.projects.getRoles({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `project_id_or_key` | `string` | Yes | — |

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### list

`projects.list`

List Jira projects

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.projects.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | No | — |
| `order_by` | `string` | No | — |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |
| `expand` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `startAt` | `number` | No | — |
| `maxResults` | `number` | No | — |
| `isLast` | `boolean` | No | — |
| `values` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="values full type">
    ```ts theme={null}
    {
      id?: string,
      key?: string,
      name?: string,
      description?: string,
      projectTypeKey?: string,
      lead?: {
        accountId?: string,
        displayName?: string,
        emailAddress?: string,
        active?: boolean,
        avatarUrls?: {
        }
      },
      self?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Sprints

### create

`sprints.create`

Create a new sprint on a Jira board

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.sprints.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `origin_board_id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `goal` | `string` | No | — |
| `start_date` | `string` | No | — |
| `end_date` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | No | — |
| `name` | `string` | No | — |
| `state` | `string` | No | — |
| `goal` | `string` | No | — |
| `startDate` | `string` | No | — |
| `endDate` | `string` | No | — |
| `completeDate` | `string` | No | — |
| `createdDate` | `string` | No | — |
| `originBoardId` | `number` | No | — |
| `self` | `string` | No | — |

***

### list

`sprints.list`

List sprints for a Jira board

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.sprints.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `board_id` | `number` | Yes | — |
| `state` | `string` | No | — |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `maxResults` | `number` | No | — |
| `startAt` | `number` | No | — |
| `isLast` | `boolean` | No | — |
| `values` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="values full type">
    ```ts theme={null}
    {
      id?: number,
      name?: string,
      state?: string,
      goal?: string,
      startDate?: string,
      endDate?: string,
      completeDate?: string,
      createdDate?: string,
      originBoardId?: number,
      self?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listBoards

`sprints.listBoards`

List Jira boards

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.sprints.listBoards({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `project_key_or_id` | `string` | No | — |
| `type` | `string` | No | — |
| `name` | `string` | No | — |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `maxResults` | `number` | No | — |
| `startAt` | `number` | No | — |
| `isLast` | `boolean` | No | — |
| `total` | `number` | No | — |
| `values` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="values full type">
    ```ts theme={null}
    {
      id?: number,
      name?: string,
      type?: string,
      self?: string,
      location?: {
        projectId?: number,
        projectKey?: string,
        projectName?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### moveIssues

`sprints.moveIssues`

Move issues to a sprint

**Risk:** `write`

```ts theme={null}
await corsair.jira.api.sprints.moveIssues({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `sprint_id` | `number` | Yes | — |
| `issue_keys` | `string[]` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean` | Yes | — |

***

## Users

### find

`users.find`

Search for Jira users

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.users.find({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | No | — |
| `account_id` | `string` | No | — |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      accountId?: string,
      displayName?: string,
      emailAddress?: string,
      active?: boolean,
      avatarUrls?: {
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getAll

`users.getAll`

Get all Jira users

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.users.getAll({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `start_at` | `number` | No | — |
| `max_results` | `number` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      accountId?: string,
      displayName?: string,
      emailAddress?: string,
      active?: boolean,
      avatarUrls?: {
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getCurrent

`users.getCurrent`

Get the currently authenticated Jira user

**Risk:** `read`

```ts theme={null}
await corsair.jira.api.users.getCurrent({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `accountId` | `string` | Yes | — |
| `displayName` | `string` | No | — |
| `emailAddress` | `string` | No | — |
| `active` | `boolean` | No | — |
| `avatarUrls` | `object` | No | — |
| `timeZone` | `string` | No | — |
| `locale` | `string` | No | — |

<AccordionGroup>
  <Accordion title="avatarUrls full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.