Jira Issues API

Create, read, update, delete, and transition Jira issues.

Operations 28

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /issue Create an issue via the legacy /issue endpoint · Jira Create Issue #
Ask an LLM
“Is there an older unversioned /issue endpoint for creating an issue or sub-task?”
“Can the legacy create-issue call record update history for the project I pick?”
Tell an agent
Use the legacy /issue endpoint to create an issue with fields {fields}.
Create a sub-task through the older unversioned /issue path using fields {fields}.
GET /issue/{issueIdOrKey} Get an issue via the legacy /issue endpoint · Jira Get Issue #
Ask an LLM
“Can I still fetch an issue from the older unversioned /issue path by key?”
“Does the legacy get-issue call return the changelog and transitions too?”
Tell an agent
Fetch issue {issueIdOrKey} from the legacy /issue endpoint.
Using the older unversioned path, get issue {issueIdOrKey} with only fields {fields}.
PUT /issue/{issueIdOrKey} Edit an issue via the legacy /issue endpoint · Jira Edit Issue #
Ask an LLM
“Can the older unversioned edit-issue call apply a transition during the edit?”
“Is it possible to edit an issue on the legacy path without notifying watchers?”
Tell an agent
Through the legacy /issue endpoint, edit issue {issueIdOrKey} setting fields {fields}.
Edit issue {issueIdOrKey} on the older path and apply transition {transition} as part of the edit.
DELETE /issue/{issueIdOrKey} Delete an issue via the legacy /issue endpoint · Jira Delete Issue #
Ask an LLM
“Can I delete an issue using the older unversioned /issue path?”
“Will the legacy delete refuse an issue that still has sub-tasks?”
Tell an agent destructive · confirm first
Delete issue {issueIdOrKey} through the legacy /issue endpoint.
Using the older path, delete issue {issueIdOrKey} along with its sub-tasks ({deleteSubtasks}).
POST /rest/api/3/changelog/bulkfetch Bulk fetch changelogs across many issues · Bulk fetch changelogs #
Ask an LLM
“How do I pull the change history for a batch of issues in one request?”
“Can I filter bulk changelogs down to changes on specific fields only?”
Tell an agent
Fetch changelogs for issues {issueIdsOrKeys} in one bulk request.
Get the change history of issues {issueIdsOrKeys}, limited to changes on fields {fieldIds}.
GET /rest/api/3/events List all issue events · Get events #
Ask an LLM
“What issue event types exist in my Jira instance?”
“Which events like issue created or issue resolved can trigger notifications?”
Tell an agent
List every issue event type defined on the instance.
Show me the names and IDs of all issue events.
POST /rest/api/3/issue Create an issue or subtask · Create issue #
Ask an LLM
“How do I open a new issue in a project with a summary and issue type?”
“Can I create a subtask and move it straight into a workflow step other than the start?”
Tell an agent
Create a new issue with fields {fields}.
Create an issue with fields {fields} and immediately apply transition {transition}.
POST /rest/api/3/issue/archive Archive issues matching a JQL query · Archive issue(s) by JQL #
Ask an LLM
“How do I archive every issue that matches a JQL search?”
“Can I archive up to 100,000 old issues in one asynchronous request?”
Tell an agent
Archive all issues matching JQL {jql}.
Submit a background job to archive issues found by the query {jql} and give me the status URL.
PUT /rest/api/3/issue/archive Archive up to 1000 issues by ID or key · Archive issue(s) by issue ID/key #
Ask an LLM
“Can I archive a specific list of issues by their keys?”
“What is the limit on how many issues I can archive by key in one call?”
Tell an agent
Archive issues {issueIdsOrKeys}.
Archive this list of issue keys and report any that failed: {issueIdsOrKeys}.
POST /rest/api/3/issue/bulk Bulk create up to 50 issues · Bulk create issue #
Ask an LLM
“Can I create many issues at once instead of one call per issue?”
“What is the maximum number of issues I can create in a single bulk request?”
Tell an agent
Bulk create these issues in one request: {issueUpdates}.
Create the batch of issues and subtasks described in {issueUpdates}.
POST /rest/api/3/issue/bulkfetch Fetch details for a set of issues · Bulk fetch issues #
Ask an LLM
“How can I get details for a hundred issues in a single request?”
“Can I bulk fetch issues and return only certain fields?”
Tell an agent
Bulk fetch the details of issues {issueIdsOrKeys}.
Get issues {issueIdsOrKeys} in one call, returning only fields {fields}.
GET /rest/api/3/issue/createmeta Get create-issue metadata for projects · Get create issue metadata #
Ask an LLM
“Which projects and issue types am I allowed to create issues in?”
“What fields appear on the create screen for each issue type across projects?”
Tell an agent
Show the create metadata for projects {projectKeys}.
Get create screen metadata for issue types {issuetypeNames} in projects {projectKeys}, expanding fields.
GET /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes List creatable issue types for a project · Get create metadata issue types for a project #
Ask an LLM
“Which issue types can I create in a given project?”
“Does the list of creatable issue types for one project support paging?”
Tell an agent
List the issue types I can create in project {projectIdOrKey}.
Page through creatable issue type metadata for project {projectIdOrKey}, {maxResults} at a time.
GET /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId} Get create fields for a project issue type · Get create field metadata for a project and issue type id #
Ask an LLM
“What fields are required when creating a Bug in a specific project?”
“Which fields are on the create screen for one project and issue type combination?”
Tell an agent
Get the create field metadata for issue type {issueTypeId} in project {projectIdOrKey}.
Show which fields I must fill in to create issue type {issueTypeId} in {projectIdOrKey}.
GET /rest/api/3/issue/limit/adf/report Report issues breaching the ADF size limit · Get issue adf limit report #
Ask an LLM
“Which issues have rich text fields that exceed the ADF byte size limit?”
“Can I restrict the ADF limit report to a particular field type?”
Tell an agent
Report issues whose rich text content is over the ADF size limit.
List issue keys breaching the ADF size limit for field type {fieldType}.
GET /rest/api/3/issue/limit/report Report issues breaching per-issue limits · Get issue limit report #
Ask an LLM
“Which issues are close to hitting per-issue limits like too many comments or attachments?”
“Can I get the issue limit report as issue keys instead of IDs?”
Tell an agent
Show issues that are breaching or approaching per-issue entity limits.
Get the per-issue limit report returning keys ({isReturningKeys}).
PUT /rest/api/3/issue/unarchive Unarchive issues by ID or key · Unarchive issue(s) by issue keys/ID #
Ask an LLM
“How do I restore archived issues back to active?”
“Can I unarchive a subtask directly or only through its parent?”
Tell an agent
Unarchive issues {issueIdsOrKeys}.
Restore these archived issues and list any errors: {issueIdsOrKeys}.
DELETE /rest/api/3/issue/{issueIdOrKey} Delete an issue · Delete issue #
Ask an LLM
“How do I permanently remove an issue?”
“What happens when I try to delete an issue that has subtasks?”
Tell an agent destructive · confirm first
Delete issue {issueIdOrKey}.
Delete issue {issueIdOrKey} and all of its subtasks ({deleteSubtasks}).
GET /rest/api/3/issue/{issueIdOrKey} Get an issue's details · Get issue #
Ask an LLM
“What are the current fields and status of a particular issue?”
“Will looking up an issue still work if it was moved to another project?”
Tell an agent
Get the details of issue {issueIdOrKey}.
Fetch issue {issueIdOrKey} returning only fields {fields}.
PUT /rest/api/3/issue/{issueIdOrKey} Edit an issue's fields · Edit issue #
Ask an LLM
“How do I change the summary or description of an existing issue?”
“Can I update an issue without sending notifications to watchers?”
Tell an agent
Update issue {issueIdOrKey} with fields {fields}.
Edit issue {issueIdOrKey} using operations {update} and don't notify users ({notifyUsers}).
PUT /rest/api/3/issue/{issueIdOrKey}/assignee Assign an issue to a user · Assign issue #
Ask an LLM
“How do I assign an issue to someone when I only have Assign permission?”
“Can I unassign an issue or send it to the project's default assignee?”
Tell an agent
Assign issue {issueIdOrKey} to account {accountId}.
Unassign issue {issueIdOrKey}.
GET /rest/api/3/issue/{issueIdOrKey}/changelog List an issue's changelog · Get changelogs #
Ask an LLM
“Who changed what on an issue and when?”
“Can I page through the full change history of one issue, oldest first?”
Tell an agent
Show the changelog for issue {issueIdOrKey}.
Get {maxResults} changelog entries of issue {issueIdOrKey} starting at {startAt}.
POST /rest/api/3/issue/{issueIdOrKey}/changelog/list Get specific changelogs of an issue by ID · Get changelogs by IDs #
Ask an LLM
“Can I retrieve only certain changelog entries of an issue if I know their IDs?”
“Is there a way to look up specific history records on one issue by changelog ID?”
Tell an agent
Get changelogs {changelogIds} for issue {issueIdOrKey}.
Look up changelog entries {changelogIds} on issue {issueIdOrKey}.
GET /rest/api/3/issue/{issueIdOrKey}/editmeta Get editable fields for an issue · Get edit issue metadata #
Ask an LLM
“Which fields on an issue am I allowed to edit?”
“What does the edit screen of a particular issue contain?”
Tell an agent
Show the edit metadata for issue {issueIdOrKey}.
List the fields I can edit on issue {issueIdOrKey}, including hidden ones ({overrideScreenSecurity}).
POST /rest/api/3/issue/{issueIdOrKey}/notify Send an email notification about an issue · Send notification for issue #
Ask an LLM
“How do I email people about an issue from Jira?”
“Can I send an issue notification to the reporter and watchers with a custom subject?”
Tell an agent
Send a notification for issue {issueIdOrKey} with subject {subject} to {to}.
Email recipients {to} about issue {issueIdOrKey} with the message {textBody}.
GET /rest/api/3/issue/{issueIdOrKey}/transitions List available transitions for an issue · Get transitions #
Ask an LLM
“What workflow transitions can I perform on an issue right now?”
“Can I see transitions that are unavailable along with the ones I can use?”
Tell an agent
List the transitions available for issue {issueIdOrKey}.
Check whether transition {transitionId} can be performed on issue {issueIdOrKey}.
POST /rest/api/3/issue/{issueIdOrKey}/transitions Transition an issue to a new status · Transition issue #
Ask an LLM
“How do I move an issue to Done?”
“Can I set fields from the transition screen while moving an issue to a new status?”
Tell an agent
Transition issue {issueIdOrKey} using transition {transition}.
Move issue {issueIdOrKey} through transition {transition} and set fields {fields}.
PUT /rest/api/3/issues/archive/export Export archived issues to a CSV by email · Export archived issue(s) #
Ask an LLM
“Can I get a CSV export of all archived issues?”
“Is it possible to export archived issues filtered by project or date archived?”
Tell an agent
Export archived issues from projects {projects} and email me the CSV link.
Export issues archived within {archivedDateRange} by {archivedBy}.

Documentation

Specifications

Code Examples

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/jira-issues-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

jira-issues-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Jira Issues API
  x-refined-note:
  - x-atlassian-api-version differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Issues across 2 of this provider''s published API definitions: jira-cloud-platform-rest-api-openapi.yml, jira-platform-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{domain}.atlassian.net/rest/api/3
  description: Jira Cloud instance
  variables:
    domain:
      description: Your Jira Cloud site subdomain (e.g., your-company).
      default: your-domain
- url: https://your-domain.atlassian.net
tags:


# --- truncated at 32 KB (229 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jira/refs/heads/main/openapi/jira-issues-api-openapi.yml