> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agentkit`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Jira

**Authentication:** OAuth 2.0
**Categories:** Developer Tools, Project Management
## What you can do

Connect this agent connector to let your agent:

- **Read issues** — fetch issue details, comments, attachments, and linked items
- **Create and update issues** — file bugs, stories, and tasks; update status and assignees
- **Manage projects** — list projects, sprints, and boards
- **Search with JQL** — execute Jira Query Language searches for advanced filtering

## Authentication

This connector uses **OAuth 2.0**. Scalekit acts as the OAuth client: it redirects your user to Jira, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a `connectionName` and a user `identifier`.

You supply your Jira **Connected App** credentials (Client ID + Secret) once per environment in the Scalekit dashboard.

Before calling this connector from your code, create the Jira connection in **AgentKit** > **Connections** and copy the exact **Connection name** from that connection into your code. The value in code must match the dashboard exactly.

## Set up the connector

Register your Scalekit environment with the Jira connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

1. ### Set up auth redirects

    - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**. Find **Jira** and click **Create**. Copy the redirect URI. It looks like `https:///sso/v1/oauth//callback`.

      > Image: Copy redirect URI from Scalekit dashboard

    - In the [Atlassian Developer Console](https://developer.atlassian.com/apps/), open your app and go to **Authorization** → **OAuth 2.0 (3LO)** → **Configure**.

    - Paste the copied URI into the **Callback URL** field and click **Save changes**.

      > Image: Add callback URL in Atlassian Developer Console for Jira

2. ### Get client credentials

    In the [Atlassian Developer Console](https://developer.atlassian.com/apps/), open your app and go to **Settings**:

    - **Client ID** — listed under **Client ID**
    - **Client Secret** — listed under **Secret**

3. ### Add credentials in Scalekit

    - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** and open the connection you created.

    - Enter your credentials:
      - Client ID (from your Atlassian app)
      - Client Secret (from your Atlassian app)
      - Permissions (scopes — see [Jira OAuth scopes reference](https://developer.atlassian.com/cloud/jira/platform/scopes-for-oauth-2-3LO-and-forge-apps/))

      > Image: Add credentials for Jira in Scalekit dashboard
    - Click **Save**.

## Code examples

Once a connected account is authorized, make Jira API calls through the Scalekit proxy — Scalekit handles OAuth token refresh automatically.

**Don't worry about the Jira cloud ID in the path.** Scalekit resolves `{{cloud_id}}` from the connected account configuration automatically. A request with `path="/rest/api/3/myself"` is routed to the correct Atlassian instance without any extra setup.

## Proxy API calls

  ### Node.js

```typescript

const scalekit = new ScalekitClient(
  process.env.SCALEKIT_ENV_URL,
  process.env.SCALEKIT_CLIENT_ID,
  process.env.SCALEKIT_CLIENT_SECRET
);
const actions = scalekit.actions;

// Fetch the authenticated user's Jira profile
const me = await actions.request({
  connectionName: 'jira',
  identifier: 'user_123',
  path: '/rest/api/3/myself',
  method: 'GET',
});
console.log(me);
```

  ### Python

```python

from dotenv import load_dotenv
load_dotenv()

scalekit_client = scalekit.client.ScalekitClient(
    client_id=os.getenv("SCALEKIT_CLIENT_ID"),
    client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
    env_url=os.getenv("SCALEKIT_ENV_URL"),
)
actions = scalekit_client.actions

# Fetch the authenticated user's Jira profile
me = actions.request(
    connection_name="jira",
    identifier="user_123",
    path="/rest/api/3/myself",
    method="GET"
)
print(me)
```

> tip: No OAuth flow per request
>
> Jira uses OAuth 2.0 — Scalekit stores and refreshes the access token automatically. Your code only needs `connection_name` and `identifier` per request.

## Scalekit tools

Use `execute_tool` to call Jira tools directly without constructing raw HTTP requests.

### Basic example — get the current user

  ### Node.js

```typescript
const me = await actions.executeTool({
  toolName: 'jira_myself_get',
  connectionName: 'jira',
  identifier: 'user_123',
  toolInput: {},
});
console.log(me.accountId, me.displayName);
```

  ### Python

```python
me = actions.execute_tool(
    tool_name="jira_myself_get",
    connection_name="jira",
    identifier="user_123",
    tool_input={}
)
print(me["accountId"], me["displayName"])
```

## Advanced enrichment workflow

This example shows a complete Jira issue triage pipeline: search open bugs assigned to the current user, log triage time, transition issues to "In Progress", create follow-up tasks, and link them — all in one automated flow.

  ### Node.js

```typescript

const scalekit = new ScalekitClient(
  process.env.SCALEKIT_ENV_URL,
  process.env.SCALEKIT_CLIENT_ID,
  process.env.SCALEKIT_CLIENT_SECRET
);
const actions = scalekit.actions;

const opts = { connectionName: 'jira', identifier: 'user_123' };

async function triageMyBugs(projectKey: string) {
  // 1. Get the current user's account ID
  const me = await actions.executeTool({
    toolName: 'jira_myself_get',
    ...opts,
    toolInput: {},
  });
  console.log(`Triaging bugs for: ${me.displayName}`);

  // 2. Search for open bugs assigned to the current user
  const searchResult = await actions.executeTool({
    toolName: 'jira_issues_search',
    ...opts,
    toolInput: {
      jql: `project = ${projectKey} AND issuetype = Bug AND assignee = currentUser() AND status = "To Do" ORDER BY priority DESC`,
      maxResults: 10,
      fields: 'summary,status,priority,issuetype',
    },
  });

  const bugs = searchResult.issues ?? [];
  console.log(`Found ${bugs.length} open bugs`);

  for (const bug of bugs) {
    const issueKey = bug.key;
    console.log(`\nProcessing ${issueKey}: ${bug.fields.summary}`);

    // 3. Add a triage comment
    await actions.executeTool({
      toolName: 'jira_issue_comment_add',
      ...opts,
      toolInput: {
        issueIdOrKey: issueKey,
        body: `Automated triage: picking up for sprint. Moving to In Progress.`,
      },
    });

    // 4. Log 30 minutes of triage work
    await actions.executeTool({
      toolName: 'jira_issue_worklog_add',
      ...opts,
      toolInput: {
        issueIdOrKey: issueKey,
        timeSpent: '30m',
        comment: 'Initial triage and review',
      },
    });

    // 5. Get available transitions and move to "In Progress"
    const transitions = await actions.executeTool({
      toolName: 'jira_issue_transitions_list',
      ...opts,
      toolInput: { issueIdOrKey: issueKey },
    });

    const inProgress = transitions.transitions?.find(
      (t: any) => t.name.toLowerCase().includes('progress')
    );

    if (inProgress) {
      await actions.executeTool({
        toolName: 'jira_issue_transition',
        ...opts,
        toolInput: {
          issueIdOrKey: issueKey,
          transitionId: inProgress.id,
          comment: 'Starting work on this bug.',
        },
      });
      console.log(`  → Transitioned to "${inProgress.name}"`);
    }

    // 6. Create a linked follow-up task for the fix
    const followUp = await actions.executeTool({
      toolName: 'jira_issue_create',
      ...opts,
      toolInput: {
        project_key: projectKey,
        summary: `[Fix] ${bug.fields.summary}`,
        issue_type: 'Task',
        description: `Follow-up fix task for bug ${issueKey}.`,
        assignee_account_id: me.accountId,
        priority_name: bug.fields.priority?.name ?? 'Medium',
      },
    });
    console.log(`  → Created follow-up: ${followUp.key}`);

    // 7. Link the bug to its follow-up task
    await actions.executeTool({
      toolName: 'jira_issue_link_create',
      ...opts,
      toolInput: {
        link_type_name: 'Relates',
        inward_issue_key: issueKey,
        outward_issue_key: followUp.key,
      },
    });
  }

  console.log('\nTriage complete.');
}

triageMyBugs('MYPROJECT').catch(console.error);
```

  ### Python

```python

from dotenv import load_dotenv
load_dotenv()

scalekit_client = scalekit.client.ScalekitClient(
    client_id=os.getenv("SCALEKIT_CLIENT_ID"),
    client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
    env_url=os.getenv("SCALEKIT_ENV_URL"),
)
actions = scalekit_client.actions

def execute(tool_name, tool_input):
    return actions.execute_tool(
        tool_name=tool_name,
        connection_name="jira",
        identifier="user_123",
        tool_input=tool_input
    )

def triage_my_bugs(project_key: str):
    # 1. Get the current user's account ID
    me = execute("jira_myself_get", {})
    print(f"Triaging bugs for: {me['displayName']}")

    # 2. Search for open bugs assigned to current user
    search_result = execute("jira_issues_search", {
        "jql": f'project = {project_key} AND issuetype = Bug AND assignee = currentUser() AND status = "To Do" ORDER BY priority DESC',
        "maxResults": 10,
        "fields": "summary,status,priority,issuetype"
    })

    bugs = search_result.get("issues", [])
    print(f"Found {len(bugs)} open bugs")

    for bug in bugs:
        issue_key = bug["key"]
        print(f"\nProcessing {issue_key}: {bug['fields']['summary']}")

        # 3. Add a triage comment
        execute("jira_issue_comment_add", {
            "issueIdOrKey": issue_key,
            "body": "Automated triage: picking up for sprint. Moving to In Progress."
        })

        # 4. Log 30 minutes of triage work
        execute("jira_issue_worklog_add", {
            "issueIdOrKey": issue_key,
            "timeSpent": "30m",
            "comment": "Initial triage and review"
        })

        # 5. Get transitions and move to "In Progress"
        transitions = execute("jira_issue_transitions_list", {"issueIdOrKey": issue_key})
        in_progress = next(
            (t for t in transitions.get("transitions", [])
             if "progress" in t["name"].lower()),
            None
        )
        if in_progress:
            execute("jira_issue_transition", {
                "issueIdOrKey": issue_key,
                "transitionId": in_progress["id"],
                "comment": "Starting work on this bug."
            })
            print(f"  → Transitioned to \"{in_progress['name']}\"")

        # 6. Create a linked follow-up task
        follow_up = execute("jira_issue_create", {
            "project_key": project_key,
            "summary": f"[Fix] {bug['fields']['summary']}",
            "issue_type": "Task",
            "description": f"Follow-up fix task for bug {issue_key}.",
            "assignee_account_id": me["accountId"],
            "priority_name": bug["fields"].get("priority", {}).get("name", "Medium")
        })
        print(f"  → Created follow-up: {follow_up['key']}")

        # 7. Link the bug to its follow-up task
        execute("jira_issue_link_create", {
            "link_type_name": "Relates",
            "inward_issue_key": issue_key,
            "outward_issue_key": follow_up["key"]
        })

    print("\nTriage complete.")

triage_my_bugs("MYPROJECT")
```

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `jira_attachment_delete`

Permanently delete a Jira issue attachment by its ID. This action cannot be undone. Requires Delete Attachments project permission.

Parameters:

- `id` (`string`, required): The attachment ID to delete

### `jira_attachment_get`

Get metadata for a Jira issue attachment by its ID. Returns the filename, MIME type, size, creation date, author, and download URL.

Parameters:

- `id` (`string`, required): The attachment ID to retrieve metadata for

### `jira_component_create`

Create a new component in a Jira project. Components are used to group and categorize issues within a project.

Parameters:

- `name` (`string`, required): Name of the component
- `project` (`string`, required): Key of the project to add the component to
- `assigneeType` (`string`, optional): Default assignee type: PROJECT_DEFAULT, COMPONENT_LEAD, PROJECT_LEAD, or UNASSIGNED
- `description` (`string`, optional): Description of the component
- `leadAccountId` (`string`, optional): Account ID of the component lead

### `jira_component_delete`

Delete a Jira project component by its ID. Optionally move issues from the deleted component to another component. Requires Administer Projects permission.

Parameters:

- `id` (`string`, required): The component ID to delete
- `moveIssuesTo` (`string`, optional): Component ID to move issues to after deleting this component

### `jira_component_get`

Retrieve details of a Jira project component by its ID, including name, description, lead, and default assignee settings.

Parameters:

- `id` (`string`, required): The component ID to retrieve

### `jira_component_update`

Update an existing Jira project component's name, description, lead, or default assignee settings.

Parameters:

- `id` (`string`, required): The component ID to update
- `assigneeType` (`string`, optional): Updated default assignee type: PROJECT_DEFAULT, COMPONENT_LEAD, PROJECT_LEAD, or UNASSIGNED
- `description` (`string`, optional): Updated component description
- `leadAccountId` (`string`, optional): Account ID of the new component lead
- `name` (`string`, optional): Updated component name

### `jira_field_search`

Search for Jira fields by name, type, or other criteria with pagination support. Returns paginated field results.

Parameters:

- `maxResults` (`integer`, optional): Maximum number of fields to return (default 50)
- `orderBy` (`string`, optional): Sort by: contextsCount, lastUsed, name, screensCount, or -prefixed for descending
- `query` (`string`, optional): Search query to filter fields by name (case-insensitive)
- `startAt` (`integer`, optional): Index of the first field to return (default 0)
- `type` (`string`, optional): Filter by field type: custom or system

### `jira_fields_list`

Get all system and custom fields available in Jira. Returns field IDs, names, types, and whether they are custom or system fields. Use field IDs when referencing fields in JQL or issue creation.

### `jira_filter_create`

Create a saved Jira filter with a JQL query. Filters can be shared, added to favorites, and used on Jira dashboards.

Parameters:

- `name` (`string`, required): Name of the filter (must be unique for the user)
- `description` (`string`, optional): Description of what this filter shows
- `favourite` (`boolean`, optional): Whether to add this filter to favorites immediately
- `jql` (`string`, optional): JQL query string for this filter

### `jira_filter_delete`

Permanently delete a saved Jira filter. Only the filter owner or admins can delete a filter. This action cannot be undone.

Parameters:

- `id` (`string`, required): The filter ID to delete

### `jira_filter_get`

Retrieve a saved Jira filter by its ID, including the JQL query, name, owner, and share permissions.

Parameters:

- `id` (`string`, required): The filter ID to retrieve
- `expand` (`string`, optional): Additional data to include (e.g. sharedUsers, subscriptions)

### `jira_filter_update`

Update a saved Jira filter's name, description, or JQL query. Only the filter owner or admins can update a filter.

Parameters:

- `id` (`string`, required): The filter ID to update
- `name` (`string`, required): Updated filter name
- `description` (`string`, optional): Updated description of the filter
- `jql` (`string`, optional): Updated JQL query string

### `jira_filters_search`

Search for saved Jira filters with pagination. Filter results by name, owner, project, or group. Returns filter details including JQL queries.

Parameters:

- `accountId` (`string`, optional): Filter by filter owner account ID
- `expand` (`string`, optional): Additional data to include (e.g. description, favourite, sharePermissions)
- `filterName` (`string`, optional): Search by filter name (partial match, case-insensitive)
- `maxResults` (`integer`, optional): Maximum number of filters to return (default 50)
- `orderBy` (`string`, optional): Field to order by (e.g. name, id, owner, favourite_count, is_favourite)
- `startAt` (`integer`, optional): Index of the first filter to return (default 0)

### `jira_group_member_add`

Add a user to a Jira group. Requires Administer Jira global permission or the Site Administration role.

Parameters:

- `accountId` (`string`, required): Account ID of the user to add to the group
- `groupId` (`string`, optional): The group ID to add the user to (use instead of groupname)
- `groupname` (`string`, optional): The group name to add the user to

### `jira_group_member_remove`

Remove a user from a Jira group by their account ID. Requires Administer Jira global permission.

Parameters:

- `accountId` (`string`, required): Account ID of the user to remove from the group
- `groupId` (`string`, optional): The group ID to remove the user from (use instead of groupname)
- `groupname` (`string`, optional): The group name to remove the user from

### `jira_group_members_list`

Get a paginated list of users in a Jira group. Returns account IDs, display names, and email addresses of group members.

Parameters:

- `groupId` (`string`, optional): The group ID to list members of (use instead of groupname)
- `groupname` (`string`, optional): The group name to list members of
- `includeInactiveUsers` (`boolean`, optional): Whether to include inactive (deactivated) users in the results
- `maxResults` (`integer`, optional): Maximum number of members to return (default 50)
- `startAt` (`integer`, optional): Index of the first member to return (default 0)

### `jira_groups_find`

Find Jira user groups by name. Returns groups whose names match the query. Useful for finding group names to use in permission schemes or visibility restrictions.

Parameters:

- `accountId` (`string`, optional): Filter to only return groups the user with this account ID belongs to
- `excludeId` (`string`, optional): Group IDs to exclude from results (comma-separated)
- `maxResults` (`integer`, optional): Maximum number of groups to return (default 20)
- `query` (`string`, optional): Search string to match against group names

### `jira_issue_assign`

Assign or unassign a Jira issue to a user. Pass an accountId to assign, or omit/null to unassign. The user must have the Assign Issues project permission.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to assign (e.g. PROJ-123)
- `accountId` (`string`, optional): Account ID of the user to assign. Leave null or omit to unassign.

### `jira_issue_changelog_list`

Get the paginated change history for a Jira issue. Returns a list of changelog entries showing which fields changed, who changed them, and when.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to retrieve changelog for
- `maxResults` (`integer`, optional): Maximum number of changelog entries to return (default 100)
- `startAt` (`integer`, optional): Index of the first entry to return for pagination (default 0)

### `jira_issue_comment_add`

Add a comment to a Jira issue. The comment body is plain text and will be wrapped in ADF (Atlassian Document Format) for the v3 API. Optionally restrict visibility to a specific role or group.

Parameters:

- `body` (`string`, required): The plain-text content of the comment
- `issueIdOrKey` (`string`, required): The issue ID or key to add the comment to
- `visibility_type` (`string`, optional): Restrict comment visibility by type: 'role' or 'group'
- `visibility_value` (`string`, optional): Name of the role or group to restrict visibility to

### `jira_issue_comment_delete`

Permanently delete a comment from a Jira issue. Only the comment author or users with Administer Projects permission can delete comments. This action cannot be undone.

Parameters:

- `id` (`string`, required): The comment ID to delete
- `issueIdOrKey` (`string`, required): The issue ID or key the comment belongs to

### `jira_issue_comment_get`

Retrieve a specific comment on a Jira issue by comment ID. Returns the comment body, author, and timestamps.

Parameters:

- `id` (`string`, required): The comment ID to retrieve
- `issueIdOrKey` (`string`, required): The issue ID or key the comment belongs to
- `expand` (`string`, optional): Additional fields to include (e.g. renderedBody for HTML content)

### `jira_issue_comment_update`

Update the body of an existing comment on a Jira issue. Only the comment author or users with Administer Projects permission can update comments.

Parameters:

- `body` (`string`, required): The new plain-text content for the comment
- `id` (`string`, required): The comment ID to update
- `issueIdOrKey` (`string`, required): The issue ID or key the comment belongs to
- `notifyUsers` (`boolean`, optional): Whether to send notifications to watchers (default true)

### `jira_issue_comments_list`

Get all comments for a Jira issue with pagination support. Returns comment bodies, author details, and timestamps. Use expand=renderedBody to get HTML-rendered comment content.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to list comments for
- `expand` (`string`, optional): Additional fields to include (e.g. renderedBody for HTML content)
- `maxResults` (`integer`, optional): Maximum number of comments to return (default 50)
- `orderBy` (`string`, optional): Field to order by (created or -created for descending)
- `startAt` (`integer`, optional): Index of the first comment to return (default 0)

### `jira_issue_create`

Create a new Jira issue or subtask in a specified project. Requires a project key, issue type, and summary. Supports assigning users, setting priority, labels, components, parent issue (for subtasks), and a plain-text description.

Parameters:

- `issue_type` (`string`, required): Name of the issue type (e.g. Bug, Story, Task, Sub-task)
- `project_key` (`string`, required): Key of the project to create the issue in (e.g. PROJ)
- `summary` (`string`, required): Short summary or title of the issue
- `assignee_account_id` (`string`, optional): Account ID of the user to assign this issue to
- `components` (`array`, optional): List of component names to associate with this issue
- `description` (`string`, optional): Plain-text description of the issue (wrapped in ADF for v3 API)
- `fix_versions` (`array`, optional): List of version names to set as fix versions
- `labels` (`array`, optional): List of labels to apply to the issue
- `parent_key` (`string`, optional): Key of the parent issue (required for Sub-task issue type)
- `priority_name` (`string`, optional): Priority name for the issue (e.g. Highest, High, Medium, Low, Lowest)

### `jira_issue_delete`

Permanently delete a Jira issue and all its subtasks (if deleteSubtasks is true). This action cannot be undone. The user must have permission to delete the issue.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to delete (e.g. PROJ-123)
- `deleteSubtasks` (`string`, optional): Whether to delete subtasks of this issue (required if the issue has subtasks)

### `jira_issue_get`

Retrieve details of a Jira issue by its ID or key. Returns fields, status, assignee, priority, comments summary, and other metadata. Use the fields parameter to limit the response to specific fields.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID (e.g. 10001) or key (e.g. PROJ-123) to retrieve
- `expand` (`string`, optional): Comma-separated list of additional data to include (e.g. renderedFields,names,changelog)
- `fields` (`string`, optional): Comma-separated list of fields to return (use * for all, -field to exclude)
- `properties` (`string`, optional): Comma-separated list of issue properties to return
- `updateHistory` (`boolean`, optional): Whether to update the issue's viewed history for the current user

### `jira_issue_link_create`

Create a link between two Jira issues with a specified link type (e.g. blocks, is blocked by, relates to, duplicates). Both issues must exist and the user needs Link Issues permission.

Parameters:

- `inward_issue_key` (`string`, required): Key of the inward issue (the issue on the 'is' side of the link type)
- `link_type_name` (`string`, required): Name of the issue link type (e.g. 'Blocks', 'Relates', 'Duplicates', 'Cloners')
- `outward_issue_key` (`string`, required): Key of the outward issue (the issue on the 'causes' side of the link type)
- `comment` (`string`, optional): Optional comment to add when creating the link

### `jira_issue_link_delete`

Delete a specific issue link by its ID. This removes the relationship between the two linked issues. Requires Link Issues project permission.

Parameters:

- `linkId` (`string`, required): The issue link ID to delete

### `jira_issue_link_get`

Retrieve details of a specific issue link by its ID, including the link type and both linked issues.

Parameters:

- `linkId` (`string`, required): The issue link ID to retrieve

### `jira_issue_property_delete`

Delete a custom property from a Jira issue by its property key.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key the property belongs to
- `propertyKey` (`string`, required): The key of the property to delete

### `jira_issue_property_get`

Get the value of a custom property set on a Jira issue by its property key.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key the property belongs to
- `propertyKey` (`string`, required): The key of the property to retrieve

### `jira_issue_property_keys_list`

Get the keys of all custom properties set on a Jira issue. Issue properties are key-value stores attached to issues for storing custom data.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to list property keys for

### `jira_issue_property_set`

Set or update a custom property on a Jira issue. Properties can store arbitrary JSON values and are visible to apps and API consumers. The value must be a valid JSON string.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to set the property on
- `propertyKey` (`string`, required): The key name for the property
- `value` (`string`, required): The JSON value to store for the property (as a JSON string)

### `jira_issue_remote_link_create`

Create a remote link from a Jira issue to an external resource (e.g. a GitHub PR, Confluence page, or deployment URL). If a globalId is provided and already exists, the remote link is updated instead.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to attach the remote link to
- `url` (`string`, required): URL of the remote resource
- `url_title` (`string`, required): Display title for the remote link
- `globalId` (`string`, optional): Global ID that identifies the remote object. Used to deduplicate links.
- `relationship` (`string`, optional): The relationship label describing how the remote object relates to the issue (e.g. 'fixes', 'is mentioned in')

### `jira_issue_remote_link_delete`

Delete a remote link from a Jira issue by its link ID or by global ID. Provide either linkId (in the path) or globalId (as query param) to identify the link to delete.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key the remote link belongs to
- `globalId` (`string`, optional): Delete all remote links matching this global ID (use instead of linkId)
- `linkId` (`string`, optional): The remote link ID to delete

### `jira_issue_remote_link_get`

Get a specific remote link on a Jira issue by its link ID.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key the remote link belongs to
- `linkId` (`string`, required): The remote link ID to retrieve

### `jira_issue_remote_link_update`

Update an existing remote link on a Jira issue by its link ID. Can change the URL, title, or relationship label.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key the remote link belongs to
- `linkId` (`string`, required): The remote link ID to update
- `url` (`string`, required): Updated URL of the remote resource
- `url_title` (`string`, required): Updated display title for the remote link
- `relationship` (`string`, optional): Updated relationship label

### `jira_issue_remote_links_list`

Get all remote links for a Jira issue. Remote links connect issues to external resources (e.g. GitHub PRs, Confluence pages, deployment URLs).

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to list remote links for
- `globalId` (`string`, optional): Filter by global ID of the remote link

### `jira_issue_transition`

Move a Jira issue to a new workflow status using a transition. Use the List Issue Transitions tool to get valid transition IDs. Optionally update fields or add a comment during the transition.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to transition (e.g. PROJ-123)
- `transitionId` (`string`, required): The ID of the transition to perform. Use jira_issue_transitions_list to find valid IDs.
- `comment` (`string`, optional): Comment to add when performing the transition

### `jira_issue_transitions_list`

Get the available workflow transitions for a Jira issue. Returns the list of transitions the current user can perform, including transition IDs needed for the transition endpoint.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to retrieve transitions for
- `expand` (`string`, optional): Additional data to include (e.g. transitions.fields for field metadata per transition)
- `transitionId` (`string`, optional): Filter results to only this transition ID

### `jira_issue_type_create`

Create a new issue type in the Jira instance. Requires Administer Jira global permission. The new type will be available to all projects that use the default issue type scheme.

Parameters:

- `name` (`string`, required): Name of the new issue type
- `description` (`string`, optional): Description of the issue type
- `hierarchyLevel` (`integer`, optional): Hierarchy level: -1 for subtask, 0 for standard (default)
- `type` (`string`, optional): Type classification: subtask or standard (default)

### `jira_issue_type_delete`

Delete a Jira issue type. If issues of this type exist, you must provide an alternative issue type ID to migrate them to. Requires Administer Jira global permission.

Parameters:

- `id` (`string`, required): The issue type ID to delete
- `alternativeIssueTypeId` (`string`, optional): ID of an alternative issue type to migrate existing issues to

### `jira_issue_type_get`

Retrieve details of a specific Jira issue type by its ID, including name, description, icon URL, and hierarchy level.

Parameters:

- `id` (`string`, required): The issue type ID to retrieve

### `jira_issue_type_update`

Update an existing Jira issue type's name or description. Requires Administer Jira global permission.

Parameters:

- `id` (`string`, required): The issue type ID to update
- `description` (`string`, optional): Updated description of the issue type
- `name` (`string`, optional): Updated name for the issue type

### `jira_issue_types_list`

Get all issue types available in the Jira instance (e.g. Bug, Story, Task, Epic, Sub-task). Returns issue type IDs, names, icons, and hierarchy levels.

### `jira_issue_update`

Update fields of an existing Jira issue. All fields are optional — only provided fields are changed. Supports updating summary, description, assignee, priority, labels, components, and fix versions.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to update (e.g. PROJ-123)
- `assignee_account_id` (`string`, optional): Account ID of the new assignee. Pass empty string to unassign.
- `components` (`array`, optional): List of component names to set on this issue (replaces existing)
- `description` (`string`, optional): Updated plain-text description (wrapped in ADF for v3 API)
- `fix_versions` (`array`, optional): List of version names to set as fix versions (replaces existing)
- `labels` (`array`, optional): List of labels to set on the issue (replaces existing labels)
- `notifyUsers` (`boolean`, optional): Whether to send notifications to watchers (default true)
- `priority_name` (`string`, optional): Updated priority name (e.g. Highest, High, Medium, Low, Lowest)
- `summary` (`string`, optional): Updated summary/title of the issue

### `jira_issue_vote_add`

Cast a vote for a Jira issue on behalf of the authenticated user. Voting indicates the user wants this issue resolved. Only non-resolved issues can be voted on.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to vote on

### `jira_issue_vote_delete`

Remove the authenticated user's vote from a Jira issue. Only the user who cast the vote can remove it.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to remove the vote from

### `jira_issue_votes_get`

Get vote information for a Jira issue, including the total vote count and whether the current user has voted.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to get votes for

### `jira_issue_watcher_add`

Add a user as a watcher to a Jira issue. If no accountId is provided, the currently authenticated user is added as a watcher.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to add a watcher to
- `accountId` (`string`, optional): Account ID of the user to add as a watcher. Omit to add the authenticated user.

### `jira_issue_watcher_remove`

Remove a user from the watchers list of a Jira issue. Requires the accountId of the user to remove.

Parameters:

- `accountId` (`string`, required): Account ID of the user to remove from watchers
- `issueIdOrKey` (`string`, required): The issue ID or key to remove the watcher from

### `jira_issue_watchers_get`

Get the list of users watching a Jira issue. Returns the watcher count and user details for each watcher.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to get watchers for

### `jira_issue_worklog_add`

Log time worked against a Jira issue. Specify time spent using Jira duration format (e.g. '2h 30m', '1d'). Optionally set the start time and add a comment. Requires Log Work project permission.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to log time against
- `timeSpent` (`string`, required): Time spent in Jira duration format (e.g. '2h 30m', '1d', '45m')
- `adjustEstimate` (`string`, optional): How to adjust the remaining estimate: 'auto', 'new', 'manual', 'leave' (default auto)
- `comment` (`string`, optional): Optional comment describing the work done
- `newEstimate` (`string`, optional): New remaining estimate when adjustEstimate is 'new' or 'manual' (e.g. '2h 30m')
- `started` (`string`, optional): Date/time when work started in ISO 8601 format (e.g. 2024-01-15T08:00:00.000+0000)

### `jira_issue_worklog_delete`

Delete a worklog entry from a Jira issue. Only the worklog author or admins can delete worklogs. Optionally adjust the remaining time estimate.

Parameters:

- `id` (`string`, required): The worklog ID to delete
- `issueIdOrKey` (`string`, required): The issue ID or key the worklog belongs to
- `adjustEstimate` (`string`, optional): How to adjust the remaining estimate: 'auto', 'manual', 'leave' (default auto)
- `increaseBy` (`string`, optional): Amount to increase the remaining estimate by (used when adjustEstimate is 'manual')

### `jira_issue_worklog_get`

Get a specific worklog entry for a Jira issue by worklog ID. Returns time spent, author, start time, and any associated comment.

Parameters:

- `id` (`string`, required): The worklog ID to retrieve
- `issueIdOrKey` (`string`, required): The issue ID or key the worklog belongs to

### `jira_issue_worklog_update`

Update an existing worklog entry on a Jira issue. Can change the time spent, start time, and comment. Only the worklog author or admins can update worklogs.

Parameters:

- `id` (`string`, required): The worklog ID to update
- `issueIdOrKey` (`string`, required): The issue ID or key the worklog belongs to
- `adjustEstimate` (`string`, optional): How to adjust the remaining estimate: 'auto', 'new', 'manual', 'leave'
- `comment` (`string`, optional): Updated comment for the worklog
- `newEstimate` (`string`, optional): New remaining estimate when adjustEstimate is 'new' or 'manual'
- `started` (`string`, optional): Updated start time in ISO 8601 format
- `timeSpent` (`string`, optional): Updated time spent in Jira duration format (e.g. '3h', '1d 2h')

### `jira_issue_worklogs_list`

Get all worklogs logged against a Jira issue with pagination support. Returns time spent, author, and timestamps for each worklog entry.

Parameters:

- `issueIdOrKey` (`string`, required): The issue ID or key to list worklogs for
- `maxResults` (`integer`, optional): Maximum number of worklogs to return (default 5000)
- `startAt` (`integer`, optional): Index of the first worklog entry to return (default 0)
- `startedAfter` (`integer`, optional): Return worklogs started on or after this time (Unix timestamp in milliseconds)
- `startedBefore` (`integer`, optional): Return worklogs started on or before this time (Unix timestamp in milliseconds)

### `jira_issues_bulk_create`

Create up to 50 Jira issues in a single API call. Each issue in the issueUpdates array must include fields with at minimum project, summary, and issuetype. Returns created issue keys and any errors.

Parameters:

- `issueUpdates` (`array`, required): Array of issue objects to create. Each must have a 'fields' object with project, summary, and issuetype.

### `jira_issues_search`

Search for Jira issues using JQL (Jira Query Language). Returns a paginated list of matching issues with their fields. Use fields to control what data is returned per issue.

Parameters:

- `jql` (`string`, required): JQL query string to filter issues (e.g. 'project = PROJ AND status = Open')
- `expand` (`string`, optional): Comma-separated list of additional data to include per issue (e.g. renderedFields,changelog)
- `fields` (`string`, optional): Comma-separated list of fields to return per issue (use * for all)
- `maxResults` (`integer`, optional): Maximum number of issues to return (default 50, max 100)
- `startAt` (`integer`, optional): Index of the first issue to return for pagination (default 0)

### `jira_jql_autocomplete_data`

Get reference data for JQL query building, including available fields and operators. Useful for building dynamic JQL query interfaces.

### `jira_jql_autocomplete_suggestions`

Get autocomplete suggestions for a JQL field value. Provide the field name and optionally a partial value to get matching suggestions.

Parameters:

- `fieldName` (`string`, optional): The JQL field to get value suggestions for
- `fieldValue` (`string`, optional): Partial field value to search for suggestions
- `predicateName` (`string`, optional): The predicate to get suggestions for (e.g. by, before, after)
- `predicateValue` (`string`, optional): Partial predicate value to search for suggestions

### `jira_jql_parse`

Parse and validate one or more JQL queries. Returns the parsed structure of valid queries and error details for invalid ones. Useful for debugging JQL syntax before executing a search.

Parameters:

- `queries` (`array`, required): Array of JQL query strings to parse and validate
- `validation` (`string`, optional): Validation mode: strict (default), warn, or none

### `jira_jql_sanitize`

Sanitize one or more JQL queries by converting user mentions to account IDs and fixing common formatting issues. Returns the sanitized query strings.

Parameters:

- `queries` (`array`, required): Array of JQL query objects to sanitize, each with a query string

### `jira_labels_list`

Get a paginated list of all labels used across Jira issues in the instance. Useful for discovering available labels before applying them to issues.

Parameters:

- `maxResults` (`integer`, optional): Maximum number of labels to return (default 1000)
- `startAt` (`integer`, optional): Index of the first label to return (default 0)

### `jira_myself_get`

Get details of the currently authenticated Jira user. Returns account ID, display name, email address, and avatar URLs. Useful for getting your own account ID.

Parameters:

- `expand` (`string`, optional): Additional data to include (e.g. groups,applicationRoles)

### `jira_notification_scheme_get`

Retrieve details of a specific Jira notification scheme by its ID, including all configured notification events and their recipients.

Parameters:

- `id` (`string`, required): The notification scheme ID to retrieve
- `expand` (`string`, optional): Additional data to include (e.g. all,field,group,notificationSchemeEvents,projectRole,user)

### `jira_notification_schemes_list`

Get all notification schemes in Jira with pagination. Notification schemes define who receives emails for issue events (created, updated, resolved, etc.).

Parameters:

- `expand` (`string`, optional): Additional data to include (e.g. all,field,group,notificationSchemeEvents,projectRole,user)
- `maxResults` (`integer`, optional): Maximum number of notification schemes to return (default 50)
- `startAt` (`integer`, optional): Index of the first scheme to return (default 0)

### `jira_permission_grants_list`

Get all permission grants in a Jira permission scheme. Returns each grant's permission type, holder type (user, group, role, etc.), and holder details.

Parameters:

- `schemeId` (`string`, required): The permission scheme ID to list grants for
- `expand` (`string`, optional): Additional data to include (e.g. all,field,group,permissions,projectRole,user)

### `jira_permission_scheme_get`

Retrieve details of a specific Jira permission scheme by its ID, including all permission grants and who they apply to.

Parameters:

- `schemeId` (`string`, required): The permission scheme ID to retrieve
- `expand` (`string`, optional): Additional data to include (e.g. all,field,group,permissions,projectRole,user)

### `jira_permission_schemes_list`

Get all permission schemes defined in the Jira instance. Returns scheme IDs, names, and descriptions. Permission schemes define who can perform which actions on issues in a project.

Parameters:

- `expand` (`string`, optional): Additional data to include (e.g. all,field,group,permissions,projectRole,user)

### `jira_priorities_list`

Get all issue priority levels configured in the Jira instance (e.g. Highest, High, Medium, Low, Lowest). Returns priority names and IDs for use in issue creation and filtering.

### `jira_priority_get`

Retrieve details of a specific Jira priority level by its ID, including name, description, icon URL, and status color.

Parameters:

- `id` (`string`, required): The priority ID to retrieve

### `jira_project_components_list`

Get a paginated list of components for a Jira project. Components are sub-sections that group issues within a project.

Parameters:

- `projectIdOrKey` (`string`, required): The project ID or key to list components for
- `maxResults` (`integer`, optional): Maximum number of components to return
- `orderBy` (`string`, optional): Field to order results by (e.g. name, +name, -name)
- `query` (`string`, optional): Filter components by name (case-insensitive partial match)
- `startAt` (`integer`, optional): Index of the first component to return (default 0)

### `jira_project_create`

Create a new Jira project. Requires a unique project key, project type key, and project template key. The authenticated user becomes the project lead by default.

Parameters:

- `key` (`string`, required): Unique project key (2-10 uppercase letters, e.g. PROJ)
- `leadAccountId` (`string`, required): Account ID of the project lead
- `name` (`string`, required): Full display name of the project
- `projectTemplateKey` (`string`, required): Template key to use for the project (e.g. com.pyxis.greenhopper.jira:gh-scrum-template)
- `projectTypeKey` (`string`, required): Type of project: software, business, or service_desk
- `assigneeType` (`string`, optional): Default assignee type: PROJECT_LEAD or UNASSIGNED
- `description` (`string`, optional): Project description

### `jira_project_delete`

Delete a Jira project and all its issues. This is a permanent, irreversible operation. Requires Administer Jira global permission.

Parameters:

- `projectIdOrKey` (`string`, required): The project ID or key to delete
- `enableUndo` (`boolean`, optional): Whether to place the project in a recycle bin instead of permanently deleting

### `jira_project_get`

Retrieve details of a Jira project by its ID or key, including name, type, lead, category, and metadata.

Parameters:

- `projectIdOrKey` (`string`, required): The project ID or key to retrieve (e.g. PROJ or 10001)
- `expand` (`string`, optional): Additional information to include (e.g. description,lead,issueTypes,url,projectKeys,permissions,insight)

### `jira_project_role_get`

Get details of a project role for a specific Jira project, including the list of members (users and groups) in the role.

Parameters:

- `id` (`string`, required): The role ID to retrieve (numeric)
- `projectIdOrKey` (`string`, required): The project ID or key to get the role for

### `jira_project_roles_list`

Get all project roles defined for a specific Jira project, with URLs to get member details for each role.

Parameters:

- `projectIdOrKey` (`string`, required): The project ID or key to list roles for

### `jira_project_statuses_list`

Get all valid issue statuses for a Jira project, grouped by issue type. Returns statuses with their names, IDs, and category colors.

Parameters:

- `projectIdOrKey` (`string`, required): The project ID or key to get statuses for

### `jira_project_types_list`

Get all project types available in Jira (e.g. software, business, service_desk). Returns type keys, formatted names, and descriptions.

### `jira_project_update`

Update an existing Jira project's name, description, lead, or category. Only fields provided are updated. Requires Administer Projects permission.

Parameters:

- `projectIdOrKey` (`string`, required): The project ID or key to update
- `assigneeType` (`string`, optional): Default assignee type: PROJECT_LEAD or UNASSIGNED
- `description` (`string`, optional): Updated project description
- `leadAccountId` (`string`, optional): Account ID of the new project lead
- `name` (`string`, optional): Updated project name
- `url` (`string`, optional): A link to information about this project

### `jira_project_versions_list`

Get a paginated list of versions for a Jira project. Versions are used to track releases and fix versions on issues.

Parameters:

- `projectIdOrKey` (`string`, required): The project ID or key to list versions for
- `expand` (`string`, optional): Additional data to include (e.g. operations, issuesstatus, remotelinks, approvers)
- `maxResults` (`integer`, optional): Maximum number of versions to return
- `orderBy` (`string`, optional): Field to order by (e.g. description, name, releaseDate, sequence, startDate)
- `query` (`string`, optional): Filter versions by name (case-insensitive partial match)
- `startAt` (`integer`, optional): Index of the first version to return (default 0)
- `status` (`string`, optional): Filter by release status: released, unreleased, or archived

### `jira_projects_list`

List all Jira projects visible to the authenticated user with support for filtering and pagination. Projects are returned only where the user has Browse Projects or Administer Projects permission.

Parameters:

- `action` (`string`, optional): Filter results by the action the user can perform on the project
- `categoryId` (`integer`, optional): Filter projects by category ID
- `expand` (`string`, optional): Additional information to include in the response (comma-separated)
- `id` (`string`, optional): List of project IDs to filter by (comma-separated)
- `keys` (`string`, optional): List of project keys to filter by (comma-separated)
- `maxResults` (`integer`, optional): Maximum number of projects to return per page (default 50)
- `orderBy` (`string`, optional): Field to order results by (e.g., name, key, category)
- `properties` (`string`, optional): Project properties to return (comma-separated)
- `query` (`string`, optional): Text query to search for in project name and key
- `startAt` (`integer`, optional): Starting index for pagination (default 0)
- `status` (`string`, optional): Filter projects by status (comma-separated: live, archived, deleted)
- `typeKey` (`string`, optional): Filter projects by project type key

### `jira_role_create`

Create a new project role in the Jira instance. The role will be available to all projects. Requires Administer Jira global permission.

Parameters:

- `name` (`string`, required): Name of the new project role
- `description` (`string`, optional): Description of the role's purpose

### `jira_role_delete`

Delete a global project role from the Jira instance. Optionally swap the role's usage in projects with another role. Requires Administer Jira global permission.

Parameters:

- `id` (`string`, required): The role ID to delete
- `swap` (`string`, optional): Role ID to use as a replacement wherever this role is used

### `jira_role_get`

Retrieve details of a global Jira project role by its ID, including name, description, and scope.

Parameters:

- `id` (`string`, required): The role ID to retrieve

### `jira_roles_list`

Get all project roles defined in the Jira instance (global role list, not project-specific). Returns role IDs, names, and descriptions.

### `jira_user_assignable_search`

Find users who can be assigned to issues in a Jira project or specific issue. Provide either projectKey or issueKey (not both). Returns account IDs for use with the Assign Issue tool.

Parameters:

- `issueKey` (`string`, optional): Find users assignable to this specific issue (use instead of projectKey for issue-specific rules)
- `maxResults` (`integer`, optional): Maximum number of users to return (default 50)
- `projectKey` (`string`, optional): Find users assignable to issues in this project
- `query` (`string`, optional): Filter users by display name, email, or account ID
- `startAt` (`integer`, optional): Index of the first user to return (default 0)

### `jira_user_get`

Get details for a Jira user by their account ID. Returns display name, email address, account type, avatar URLs, and active status.

Parameters:

- `accountId` (`string`, required): The account ID of the user to retrieve
- `expand` (`string`, optional): Additional data to include (e.g. groups,applicationRoles)

### `jira_users_search`

Search for Jira users by query string. Returns users whose name, email, or display name matches the query. Useful for finding account IDs to use with other tools.

Parameters:

- `maxResults` (`integer`, optional): Maximum number of users to return (default 50, max 1000)
- `query` (`string`, optional): Search string to match against user display name, email, or account ID
- `startAt` (`integer`, optional): Index of the first user to return (default 0)

### `jira_version_create`

Create a new version (release) in a Jira project. Versions track which release fixed or introduced an issue. Requires Administer Projects permission.

Parameters:

- `name` (`string`, required): Name of the version (e.g. v1.0, Sprint 5)
- `project` (`string`, required): Key of the project to add the version to
- `archived` (`boolean`, optional): Whether to archive this version immediately (default false)
- `description` (`string`, optional): Description of the version
- `released` (`boolean`, optional): Whether this version has been released (default false)
- `releaseDate` (`string`, optional): The release date in ISO 8601 date format (e.g. 2024-06-30)
- `startDate` (`string`, optional): The start date in ISO 8601 date format (e.g. 2024-06-01)

### `jira_version_delete`

Delete a Jira project version. Optionally move unresolved and/or fixed issues to another version before deleting. Requires Administer Projects permission.

Parameters:

- `id` (`string`, required): The version ID to delete
- `moveAffectedIssuesTo` (`string`, optional): Version ID to move issues with this version as an affected version to
- `moveFixIssuesTo` (`string`, optional): Version ID to move unresolved issues with this version as a fix version to

### `jira_version_get`

Retrieve details of a Jira project version by its ID, including name, release date, status, and associated project.

Parameters:

- `id` (`string`, required): The version ID to retrieve
- `expand` (`string`, optional): Additional data to include (e.g. operations, issuesstatus, remotelinks, approvers)

### `jira_version_update`

Update a Jira project version's name, description, release date, or status (released/archived). Requires Administer Projects permission.

Parameters:

- `id` (`string`, required): The version ID to update
- `archived` (`boolean`, optional): Whether this version is archived
- `description` (`string`, optional): Updated version description
- `name` (`string`, optional): Updated version name
- `released` (`boolean`, optional): Whether this version has been released
- `releaseDate` (`string`, optional): Updated release date in ISO 8601 date format (e.g. 2024-07-15)
- `startDate` (`string`, optional): Updated start date in ISO 8601 date format (e.g. 2024-06-15)

### `jira_workflows_search`

Search for workflows in the Jira instance with pagination. Returns workflow names, IDs, statuses, and whether they are system or custom workflows.

Parameters:

- `expand` (`string`, optional): Additional data to include (e.g. statuses, transitions)
- `isActive` (`boolean`, optional): Filter to active (true) or inactive (false) workflows only
- `maxResults` (`integer`, optional): Maximum number of workflows to return (default 50)
- `startAt` (`integer`, optional): Index of the first workflow to return (default 0)
- `workflowName` (`string`, optional): Filter workflows by name (partial match)


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
