Jira Issues API

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

Operations 4

POST /issue Jira Create Issue #
GET /issue/{issueIdOrKey} Jira Get Issue #
PUT /issue/{issueIdOrKey} Jira Edit Issue #
DELETE /issue/{issueIdOrKey} Jira Delete Issue #

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 Cloud Platform REST Issue Comments Issues API
  description: The Jira Cloud platform REST API v3 for building apps and integrations with Atlassian Jira. This specification covers core resources including issues, projects, and search (JQL). All responses use Atlassian Document Format (ADF) for rich text fields. Authentication is via OAuth 2.0 (3LO), API tokens with basic auth, or Atlassian Connect JWT.
  version: '3'
  license:
    name: Atlassian Developer Terms
    url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
  termsOfService: https://www.atlassian.com/legal/cloud-terms-of-service
  contact:
    name: Atlassian Developer Support
    url: https://developer.atlassian.com/support
    email: ecosystem@atlassian.com
  x-atlassian-api-version: '3'
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
security:
- basicAuth: []
- oauth2: []
- bearerAuth: []
tags:
- name: Issues
  description: Create, read, update, delete, and transition Jira issues.
  externalDocs:
    description: Jira Issues REST API documentation
    url: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/
paths:
  /issue:
    post:
      summary: Jira Create Issue
      description: Creates an issue or a sub-task from a JSON representation. The fields that can be set on an issue depend on the connected Jira instance configuration, the project, and the issue type. You can determine appropriate field values using the Create Issue Metadata endpoint.
      operationId: createIssue
      tags:
      - Issues
      externalDocs:
        description: API method documentation
        url: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-post
      parameters:
      - name: updateHistory
        in: query
        description: Whether the project in which the issue is created is added to the user's Recently viewed project list, as shown under Projects in Jira.
        required: false
        schema:
          type: boolean
          default: false
        example: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueCreateRequest'
            example:
              fields:
                project:
                  key: PROJ
                summary: Main order flow fails when item is sold out
                description:
                  type: doc
                  version: 1
                  content:
                  - type: paragraph
                    content:
                    - type: text
                      text: Order flow errors when an item is sold out.
                issuetype:
                  name: Bug
                priority:
                  name: High
                labels:
                - bugfix
                - production
                assignee:
                  accountId: 5b10a2844c20165700ede21g
      responses:
        '201':
          description: Issue created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedIssue'
              examples:
                Createissue201Example:
                  summary: Default createIssue 201 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    key: example_value
                    self: https://www.example.com
                    transition:
                      status: 10
                      errorCollection:
                        errorMessages: {}
                        errors: example_value
                        status: 10
        '400':
          description: The input is invalid, including if the request body is missing or has invalid fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
              examples:
                Createissue400Example:
                  summary: Default createIssue 400 response
                  x-microcks-default: true
                  value:
                    errorMessages:
                    - example_value
                    errors: example_value
                    status: 10
        '401':
          description: Authentication credentials are missing or invalid.
        '403':
          description: The user does not have permission to create issues in the project.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /issue/{issueIdOrKey}:
    get:
      summary: Jira Get Issue
      description: Returns the details for an issue. The issue is identified by its ID or key. The returned issue includes all fields, comment count, names, schema, transitions, editmeta, changelog, and rendered fields.
      operationId: getIssue
      tags:
      - Issues
      externalDocs:
        description: API method documentation
        url: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-get
      parameters:
      - $ref: '#/components/parameters/issueIdOrKey'
      - name: fields
        in: query
        description: A list of fields to return for the issue. Use it to retrieve a subset of fields. Allowed values include any field name, *all for all fields, *navigable for navigable fields.
        required: false
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        example: []
      - name: expand
        in: query
        description: 'Use expand to include additional information in the response. Accepted values: renderedFields, names, schema, transitions, operations, editmeta, changelog, versionedRepresentations, fields.'
        required: false
        schema:
          type: string
        example: example_value
      - name: properties
        in: query
        description: A list of issue properties to return for the issue. By default no properties are returned.
        required: false
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        example: []
      - name: fieldsByKeys
        in: query
        description: Whether fields in fields are referenced by keys rather than IDs.
        required: false
        schema:
          type: boolean
          default: false
        example: true
      responses:
        '200':
          description: Issue details returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueBean'
              examples:
                Getissue200Example:
                  summary: Default getIssue 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    key: example_value
                    self: https://www.example.com
                    expand: example_value
                    fields:
                      summary: example_value
                      description: A sample description.
                      assignee: example_value
                      labels:
                      - {}
                      components:
                      - {}
                      fixVersions:
                      - {}
                      versions:
                      - {}
                      resolution: example_value
                      resolutiondate: '2026-01-15T10:30:00Z'
                      created: '2026-01-15T10:30:00Z'
                      updated: '2026-01-15T10:30:00Z'
                      duedate: '2026-01-15'
                      subtasks:
                      - {}
                      parent: example_value
                      environment: example_value
                      attachment:
                      - {}
                      issuelinks:
                      - {}
                    renderedFields: example_value
                    names: example_value
                    schema: example_value
                    transitions:
                    - id: abc123
                      name: Example Title
                      hasScreen: true
                      isGlobal: true
                      isInitial: true
                      isConditional: true
                      fields: example_value
                    changelog:
                      startAt: 10
                      maxResults: 10
                      total: 10
                      histories:
                      - {}
        '401':
          description: Authentication credentials are missing or invalid.
        '404':
          description: The issue was not found or the user does not have permission to view it.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      summary: Jira Edit Issue
      description: Edits an issue. A transition may be applied and issue properties updated as part of the edit. The editable fields depend on the connected Jira instance configuration, the project, and the issue type.
      operationId: editIssue
      tags:
      - Issues
      externalDocs:
        description: API method documentation
        url: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-put
      parameters:
      - $ref: '#/components/parameters/issueIdOrKey'
      - name: notifyUsers
        in: query
        description: Whether a notification email about the issue update is sent to all watchers. Requires administer Jira global permission.
        required: false
        schema:
          type: boolean
          default: true
        example: true
      - name: overrideScreenSecurity
        in: query
        description: Whether screen security is overridden to enable hidden fields to be edited. Requires administer Jira global permission.
        required: false
        schema:
          type: boolean
          default: false
        example: true
      - name: overrideEditableFlag
        in: query
        description: Whether the non-editable flag is overridden to enable uneditable fields to be edited. Requires administer Jira global permission.
        required: false
        schema:
          type: boolean
          default: false
        example: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueUpdateRequest'
            examples:
              EditissueRequestExample:
                summary: Default editIssue request
                x-microcks-default: true
                value:
                  update: example_value
                  fields: example_value
                  transition:
                    id: abc123
                  historyMetadata: example_value
                  properties:
                  - key: example_value
                    value: example_value
      responses:
        '204':
          description: Issue updated successfully.
        '400':
          description: The input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
              examples:
                Editissue400Example:
                  summary: Default editIssue 400 response
                  x-microcks-default: true
                  value:
                    errorMessages:
                    - example_value
                    errors: example_value
                    status: 10
        '401':
          description: Authentication credentials are missing or invalid.
        '403':
          description: The user does not have permission to edit the issue.
        '404':
          description: The issue was not found or the user does not have permission to view it.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      summary: Jira Delete Issue
      description: Deletes an issue. An issue can only be deleted if it has no sub-tasks, unless deleteSubtasks is set to true.
      operationId: deleteIssue
      tags:
      - Issues
      externalDocs:
        description: API method documentation
        url: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-delete
      parameters:
      - $ref: '#/components/parameters/issueIdOrKey'
      - name: deleteSubtasks
        in: query
        description: Whether the issue's sub-tasks are also deleted.
        required: false
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
          default: 'false'
        example: 'true'
      responses:
        '204':
          description: Issue deleted successfully.
        '400':
          description: The issue has sub-tasks and deleteSubtasks is not set to true.
        '401':
          description: Authentication credentials are missing or invalid.
        '403':
          description: The user does not have permission to delete the issue.
        '404':
          description: The issue was not found or the user does not have permission to view it.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ProjectRef:
      type: object
      description: A reference to a Jira project.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        id:
          type: string
          example: abc123
        key:
          type: string
          example: example_value
        name:
          type: string
          example: Example Title
        avatarUrls:
          $ref: '#/components/schemas/AvatarUrls'
        projectTypeKey:
          type: string
          example: example_value
    PageOfWorklogs:
      type: object
      description: A paginated list of worklogs.
      properties:
        startAt:
          type: integer
          format: int32
          example: 10
        maxResults:
          type: integer
          format: int32
          example: 10
        total:
          type: integer
          format: int32
          example: 10
        worklogs:
          type: array
          items:
            $ref: '#/components/schemas/Worklog'
          example: []
    PageOfComments:
      type: object
      description: A paginated list of comments.
      properties:
        startAt:
          type: integer
          format: int32
          example: 10
        maxResults:
          type: integer
          format: int32
          example: 10
        total:
          type: integer
          format: int32
          example: 10
        comments:
          type: array
          items:
            $ref: '#/components/schemas/Comment'
          example: []
    TransitionRef:
      type: object
      description: A reference to a transition by ID.
      properties:
        id:
          type: string
          description: The ID of the transition.
          example: abc123
      required:
      - id
    Watches:
      type: object
      description: The watchers of an issue.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        watchCount:
          type: integer
          format: int32
          example: 10
        isWatching:
          type: boolean
          example: true
    ChangeHistory:
      type: object
      description: A changelog entry.
      properties:
        id:
          type: string
          example: abc123
        author:
          $ref: '#/components/schemas/UserDetails'
        created:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        items:
          type: array
          items:
            $ref: '#/components/schemas/ChangeItem'
          example: []
    IssueCreateRequest:
      type: object
      description: Request body for creating an issue.
      properties:
        update:
          type: object
          description: A map of operations to perform on issue fields. Each key is a field ID and the value is an array of operations.
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/FieldUpdateOperation'
          example: example_value
        fields:
          type: object
          description: A map of field ID to field value for the issue. Required fields depend on the project and issue type.
          additionalProperties: true
          example: example_value
        transition:
          $ref: '#/components/schemas/TransitionRef'
        historyMetadata:
          type: object
          description: Metadata about the history entry.
          additionalProperties: true
          example: example_value
        properties:
          type: array
          description: Entity properties to set on the issue.
          items:
            $ref: '#/components/schemas/EntityProperty'
          example: []
      required:
      - fields
    StatusDetails:
      type: object
      description: A status in Jira.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        id:
          type: string
          example: abc123
        name:
          type: string
          description: The name of the status (e.g., To Do, In Progress, Done).
          example: Example Title
        description:
          type: string
          example: A sample description.
        iconUrl:
          type: string
          format: uri
          example: https://www.example.com
        statusCategory:
          $ref: '#/components/schemas/StatusCategory'
    Visibility:
      type: object
      description: The visibility restrictions for a comment.
      properties:
        type:
          type: string
          enum:
          - group
          - role
          example: group
        value:
          type: string
          description: The name of the group or role to restrict visibility to.
          example: example_value
        identifier:
          type: string
          description: The ID of the group or role.
          example: example_value
    ChangeItem:
      type: object
      description: An individual field change within a changelog entry.
      properties:
        field:
          type: string
          example: example_value
        fieldtype:
          type: string
          example: example_value
        fieldId:
          type: string
          example: '500123'
        from:
          type:
          - string
          - 'null'
          example: example_value
        fromString:
          type:
          - string
          - 'null'
          example: example_value
        to:
          type:
          - string
          - 'null'
          example: example_value
        toString:
          type:
          - string
          - 'null'
          example: example_value
    Resolution:
      type: object
      description: An issue resolution.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        id:
          type: string
          example: abc123
        name:
          type: string
          description: The name of the resolution (e.g., Fixed, Won't Fix, Duplicate).
          example: Example Title
        description:
          type: string
          example: A sample description.
    FieldUpdateOperation:
      type: object
      description: An operation to perform on a field value.
      properties:
        add:
          description: Value to add to the field.
          example: example_value
        remove:
          description: Value to remove from the field.
          example: example_value
        set:
          description: Value to set the field to.
          example: example_value
        edit:
          description: Value to edit in the field.
          example: example_value
        copy:
          description: Value to copy to the field.
          example: example_value
    EntityProperty:
      type: object
      description: An entity property (key-value pair).
      properties:
        key:
          type: string
          description: The property key.
          example: example_value
        value:
          description: The property value (any JSON value).
          example: example_value
    Worklog:
      type: object
      description: A worklog entry.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        id:
          type: string
          example: abc123
        author:
          $ref: '#/components/schemas/UserDetails'
        updateAuthor:
          $ref: '#/components/schemas/UserDetails'
        comment:
          $ref: '#/components/schemas/AtlassianDocumentFormat'
        created:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        updated:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        started:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        timeSpent:
          type: string
          description: The time spent on the worklog (e.g., 3h 20m).
          example: example_value
        timeSpentSeconds:
          type: integer
          format: int64
          example: 10
    Attachment:
      type: object
      description: An attachment on an issue.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        id:
          type: string
          example: abc123
        filename:
          type: string
          example: example_value
        author:
          $ref: '#/components/schemas/UserDetails'
        created:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        size:
          type: integer
          format: int64
          example: 10
        mimeType:
          type: string
          example: example_value
        content:
          type: string
          format: uri
          description: The URL to download the attachment content.
          example: https://www.example.com
        thumbnail:
          type: string
          format: uri
          example: https://www.example.com
    Component:
      type: object
      description: A project component.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        id:
          type: string
          example: abc123
        name:
          type: string
          example: Example Title
        description:
          type: string
          example: A sample description.
        lead:
          $ref: '#/components/schemas/UserDetails'
        assigneeType:
          type: string
          enum:
          - PROJECT_DEFAULT
          - COMPONENT_LEAD
          - PROJECT_LEAD
          - UNASSIGNED
          example: PROJECT_DEFAULT
        assignee:
          $ref: '#/components/schemas/UserDetails'
        project:
          type: string
          example: example_value
        projectId:
          type: integer
          format: int64
          example: '500123'
    StatusCategory:
      type: object
      description: A status category in Jira.
      properties:
        self:
          type: string
          format: uri
          example: https://www.example.com
        id:
          type: integer
          format: int64
          example: abc123
        key:
          type: string
          description: The key of the status category (e.g., new, indeterminate, done).
          example: example_value
        colorName:
          type: string
          description: The color name for the status category.
          example: example_value
        name:
          type: string
          description: The name of the status category.
          example: Example Title
    UserDetails:
      type: object
      description: A Jira user.
      properties:
        self:
          type: string
          format: uri
          description: The URL of the user in the REST API.
          example: https://www.example.com
        accountId:
          type: string
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products.
          maxLength: 128
          example: '500123'
        emailAddress:
          type: string
          format: email
          description: The email address of the user (may not be available depending on privacy settings).
          example: user@example.com
        displayName:
          type: string
          description: The display name of the user.
          example: example_value
        active:
          type: boolean
          description: Whether the user account is active.
          example: true
        timeZone:
          type: string
          description: The time zone of the user.
          example: example_value
        accountType:
          type: string
          description: The type of account.
          enum:
          - atlassian
          - app
          - customer
          example: atlassian
        avatarUrls:
          $ref: '#/components/schemas/AvatarUrls'
    AtlassianDocumentFormat:
      type: object
      description: Atlassian Document Format (ADF) representation of rich text content. ADF is a JSON-based format used in Jira Cloud REST API v3 for description, comment, and other rich text fields.
      required:
      - type
      - version
      - content
      properties:
        type:
          type: string
          enum:
          - doc
          description: The root node type. Always doc.
          example: doc
        version:
          type: integer
          description: The ADF version. Currently 1.
          enum:
          - 1
          example: 1
        content:
          type: array
          description: The content nodes of the document.
          items:
            type: object
            properties:
              type:
                type: string
                description: The node type (e.g., paragraph, heading, bulletList, orderedList, codeBlock, blockquote, table, mediaSingle, rule).
              content:
                type: array
                description: Child content nodes.
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: The inline node type (e.g., text, hardBreak, mention, emoji, inlineCard).
                    text:
                      type: string
                    marks:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: The mark type (e.g., strong, em, code, link, underline, strike, textColor).
                          attrs:
                            type: object
                            additionalProperties: true
                  additionalProperties: true
              attrs:
                type: object
                additionalProperties: true
            additionalProperties: true
          example: []
    IssueLink:
      type: object
      description: A link between issues.
      properties:
        id:
          type: string
          example: abc123
        self:
          type: string
          format: uri
          example: https://www.example.com
        type:
          $ref: '#/components/schemas/IssueLinkType'
        inwardIssue:
          $ref: '#/components/schemas/IssueRef'
        outwardIssue:
          $ref: '#/components/schemas/IssueRef'
    IssueLinkType:
      type: object
      description: The type of link between issues.
      properties:
        id:
          type: string
          example: abc123
        name:
          type: string
          example: Example Title
        inward:
          type: string
          description: The inward description (e.g., is blocked by).
          example: example_value
        outward:
          type: string
          description: The outward description (e.g., blocks).
          example: example_value
        self:
          type: string
          format: uri
          example: https://www.example.com
    ErrorCollection:
      type: object
      description: Error details returned by the API.
      properties:
        errorMessages:
          type: array
          description: The list of error messages.
          items:
            type: string
          example: []
        errors:
          type: object
          description: Field-specific errors.
          additionalProperties:
            type: string
          example: example_value
        status:
          type: integer
          description: The HTTP status code.
          example: 10
    IssueUpdateRequest:
      type: object
      description: Request body for editing an issue.
      properties:
        update:
          type: object
          description: A map of operations to perform on issue fields.
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/FieldUpdateOperation'
          example: example_value
        fields:
          type: object
          description: A map of field ID to field value for the issue.
          additionalProperties: true
          example: example_value
        transition:
          $ref: '#/components/schemas/TransitionRef'
        historyMetadata:
          type: object
          description: Metadata about the history entry.
          additionalProperties: true
          example: example_value
        properties:
          type: array
          description: Entity properties to set on the issue.
          items:
            $ref: '#/components/schemas/EntityProperty'
          example: []
    IssueBean:
      type: object
      description: A Jira issue with all fields and metadata.
      properties:
        id:
          type: string
          description: The ID of the issue.
          example: abc123
        key:
          type: string
          description: The key of the issue (e.g., PROJ-123).
          example: example_value
        self:
          type: string
          format: uri
          description: The URL of the issue in the REST API.
          example: https://www.example.com
        expand:
          type: string
          description: The expand options applied to the issue.
          example: example_value
        fields:
          $ref: '#/components/schemas/IssueFields'
        renderedFields:
          type: object
          description: HTML-rendered versions of the issue fields.
          additionalProperties: true
          example: example_value
        names:
          type: object
          description: Field name mapping for the issue.
          additionalProperties:
            type: string
          example: example_value
        schema:
          type: object
          description: JSON Schema for each field in the issue.
          additionalProperties: true
          example: example_value
        transitions:
          type: array
          description: Transitions available for the issue.
          items:
            $ref: '#/components/schemas/Transition'
          example: []
        changelog:
          $ref: '#/components/schemas/Changelog'
    IssueRef:
      type: object
      description: A reference to an issue.
      properties:
        id:
          type: string
          example: abc123
        key:
          type: string
          example: example_value
        self:
          type: string
          format: uri
          example: https://www.example.com
        fields:
          type: object
          properties:
            summary:
              type: string
            status:
              $ref: '#/components/schemas/StatusDetails'
            priority:
              $ref: '#/components/schemas/Priority'
            issuetype:
              $ref: '#/components/schemas/IssueTypeDetails'
          example: example_value
    Version:
      type: object
      description: A project version.
      properties:
        self:
          type: string
          format: uri
       

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