A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.atlassian.com/software/jira/docs/api/REST/latest/ below:

Jira 9.17.0

Welcome to the Jira Data Center platform REST API reference. You can use this REST API to build apps for Jira, develop integrations between Jira and other applications, or script interactions with Jira. This page documents the REST resources available in Jira Data Center platform, along with expected HTTP response codes and sample requests.

Looking for the REST API reference for a different Jira version? Follow the links below.

Getting started

If you haven't integrated with Jira Data Center before, read the Getting started guide in the Jira Data Center developer documentation. You may also want to read our Jira REST API overview, which describes how the Jira REST APIs work, including a simple example of a REST call.

Authentication

The following authentication methods are supported for the Jira REST APIs:

Jira uses cookie-based authentication in the browser, so you can call the REST API from Javascript on the page and rely on the authentication the browser has established. To reproduce the behavior of the Jira log-in page, you can POST to the /auth/1/session resource. You can use it, for example, to display authentication error messages to users.

URI Structure

Jira's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will make an HTTP request and parse the response. The Jira REST API uses JSON as its communication format, and the standard HTTP methods like GET, PUT, POST and DELETE (see API descriptions below for which methods are available for each resource). URIs for Jira's REST API resource have the following structure:

http://host:port/context/rest/api-name/api-version/resource-name

Currently there are two API names available, which will be discussed further below:

The current API version is 2. However, there is also a symbolic version, called latest, which resolves to the latest version supported by the given Jira instance. As an example, if you wanted to retrieve the JSON representation of issue JRA-9 from Atlassian's public issue tracker, you would access:

https://jira.atlassian.com/rest/api/latest/issue/JRA-9

There is a WADL document that contains the documentation for each resource in the Jira REST API. It is available here.

Expansion

In order to simplify API responses, the Jira REST API uses resource expansion. This means the API will only return parts of the resource when explicitly requested.

You can use the expand query parameter to specify a comma-separated list of entities that you want expanded, identifying each of them by name. For example, appending ?expand=names,renderedFields to an issue's URI requests the inclusion of the translated field names and the HTML-rendered field values in the response. Continuing with our example above, we would use the following URL to get that information for JRA-9:

https://jira.atlassian.com/rest/api/latest/issue/JRA-9?expand=names,renderedFields

To discover the identifiers for each entity, look at the expand property in the parent object. In the JSON example below, the resource declares widgets as being expandable.

{"expand":"widgets", "self":"http://www.example.com/jira/rest/api/resource/KEY-1", "widgets":{"widgets":[],"size":5}}

You can use the dot notation to specify expansion of entities within another entity. For example ?expand=widgets.fringels would expand the widgets collection and also the fringel property on each widget.

Jira uses pagination to limit the response size for resources that return a potentially large collection of items. A request to a paged API will result in a values array wrapped in a JSON object with some paging metadata, for example:

    {
        "startAt" : 0,
        "maxResults" : 10,
        "total": 200,
        "values": [
            { /* result 0 */ },
            { /* result 1 */ },
            { /* result 2 */ }
        ]
    }

Clients can use the "startAt" and "maxResults" parameters to retrieve the desired numbers of results.

The "maxResults" parameter indicates how many results to return per page. Each API may have a different limit for number of items returned.

The "startAt" parameter indicates which item should be used as the first item in the page of results.

Important: The response contains a "total" field which denotes the total number of entities contained in all pages. This number may change as the client requests the subsequent pages. A client should always assume that the requested page can be empty. REST API consumers should also consider the field to be optional. In cases, when calculating this value is too expensive we may not include this in response.

Ordering

Some resources support ordering by a specific field. Ordering request is provided in the orderBy query parameter. See the docs for specific methods to see which fields they support and if they support ordering at all.

Ordering can be ascending or descending. By default it's ascending. To specify the ordering use "-" or "+" sign. Examples:

?orderBy=name
Order by "name" ascending
?orderBy=+name
Order by "name" ascending
?orderBy=-name
Order by "name" descending
Experimental methods

Methods marked as experimental may change without an earlier notice. We are looking for your feedback for these methods.

Error responses Most resources will return a response body in addition to the status code. Usually, the JSON schema of the entity returned is the following:
{"id":"https://docs.atlassian.com/jira/REST/schema/error-collection#","title":"Error Collection","type":"object","properties":{"errorMessages":{"type":"array","items":{"type":"string"}},"errors":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"status":{"type":"integer"}},"additionalProperties":false}
Resources api/2

Provide permission information for the current user.

Get permissionsGET /rest/api/2/mypermissions

Returns all permissions in the system and whether the currently logged in user has them. You can optionally provide a specific context to get permissions for (projectKey OR projectId OR issueKey OR issueId)

NB: The above means that for issue-level permissions (EDIT_ISSUE for example), hasPermission may be true when no context is provided, or when a project context is provided, but may be false for any given (or all) issues. This would occur (for example) if Reporters were given the EDIT_ISSUE permission. This is because any user could be a reporter, except in the context of a concrete issue, where the reporter is known.

Global permissions will still be returned for all scopes.

Prior to version 6.4 this service returned project permissions with keys corresponding to com.atlassian.jira.security.Permissions.Permission constants. Since 6.4 those keys are considered deprecated and this service returns system project permission keys corresponding to constants defined in com.atlassian.jira.permission.ProjectPermissions. Permissions with legacy keys are still also returned for backwards compatibility, they are marked with an attribute deprecatedKey=true. The attribute is missing for project permissions with the current keys.

Request query parameters parameter type description projectKey string

- key of project to scope returned permissions for.

projectId string

- id of project to scope returned permissions for.

issueKey string

- key of the issue to scope returned permissions for.

issueId string

- id of the issue to scope returned permissions for.

Responses Get all permissionsGET /rest/api/2/permissions

Returns all permissions that are present in the Jira instance - Global, Project and the global ones added by plugins

Responses api/2/application-properties Get propertyGET /rest/api/2/application-properties

Returns an application property.

Request query parameters parameter type description key string

a String containing the property key

permissionLevel string

when fetching a list specifies the permission level of all items in the list see {@link com.atlassian.jira.bc.admin.ApplicationPropertiesService.EditPermissionLevel}

keyFilter string

when fetching a list allows the list to be filtered by the property's start of key e.g. "jira.lf.*" whould fetch only those permissions that are editable and whose keys start with "jira.lf.". This is a regex.

Responses Set property via restful tablePUT /rest/api/2/application-properties/{id}

Modify an application property via PUT. The "value" field present in the PUT will override the existing value.

Request Example
{"id":"jira.home","value":"/var/jira/jira-home"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/application-property#","title":"Application Property","type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}
Responses Get advanced settingsGET /rest/api/2/application-properties/advanced-settings

Returns the properties that are displayed on the "General Configuration > Advanced Settings" page.

Responses api/2/applicationrole

Provides REST access to Jira's Application Roles.

Put bulkPUT /rest/api/2/applicationrole

Updates the ApplicationRoles with the passed data if the version hash is the same as the server. Only the groups and default groups setting of the role may be updated. Requests to change the key or the name of the role will be silently ignored. It is acceptable to pass only the roles that are updated as roles that are present in the server but not in data to update with, will not be deleted.

Request header parameters parameter type description If-Match string Example
{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"Jira Software","defaultGroups":["jira-software-users"],"selectedByDefault":true}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-application-role#","title":"List of Application Role","type":"array","items":{"title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}}
Responses Get allGET /rest/api/2/applicationrole

Returns all ApplicationRoles in the system. Will also return an ETag header containing a version hash of the collection of ApplicationRoles.

Responses GetGET /rest/api/2/applicationrole/{key}

Returns the ApplicationRole with passed key if it exists.

Responses PutPUT /rest/api/2/applicationrole/{key}

Updates the ApplicationRole with the passed data. Only the groups and default groups setting of the role may be updated. Requests to change the key or the name of the role will be silently ignored.

Optional: If versionHash is passed through the If-Match header the request will be rejected if not the same as server

Request header parameters parameter type description If-Match string

the hash of the version to update. Optional Param

Example
{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"Jira Software","defaultGroups":["jira-software-users"],"selectedByDefault":true}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/application-role#","title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}
Responses api/2/attachment Get attachmentGET /rest/api/2/attachment/{id}

Returns the meta-data for an attachment, including the URI of the actual attached file.

Responses Remove attachmentDELETE /rest/api/2/attachment/{id}

Remove an attachment from an issue.

Responses Expand for humans  experimentalGET /rest/api/2/attachment/{id}/expand/human

Tries to expand an attachment. Output is human-readable and subject to change.

Responses Expand for machines  experimentalGET /rest/api/2/attachment/{id}/expand/raw

Tries to expand an attachment. Output is raw and should be backwards-compatible through the course of time.

Responses Get attachment metaGET /rest/api/2/attachment/meta

Returns the meta information for an attachments, specifically if they are enabled and the maximum upload size allowed.

Responses api/2/auditing

Resource representing the auditing records

Get records  deprecatedGET /rest/api/2/auditing/record

Returns auditing records filtered using provided parameters

Request query parameters parameter type description offset int

- the number of record from which search starts

limit int

- maximum number of returned results (if is limit is <= 0 or > 1000, it will be set do default value: 1000)

filter string

- text query; each record that will be returned must contain the provided text in one of its fields

from string

- timestamp in past; 'from' must be less or equal 'to', otherwise the result set will be empty only records that where created in the same moment or after the 'from' timestamp will be provided in response

to string

- timestamp in past; 'from' must be less or equal 'to', otherwise the result set will be empty only records that where created in the same moment or earlier than the 'to' timestamp will be provided in response

projectIds string

- list of project ids to look for

userIds string

- list of user ids to look for

Responses Add record  deprecatedPOST /rest/api/2/auditing/record

Store a record in audit log

Request Example
{"summary":"User created","created":null,"category":"USER_MANAGEMENT","objectItem":{"id":"usr","name":"user","typeName":"USER","parentId":"1","parentName":"Jira Internal Directory"},"changedValues":[{"fieldName":"email","changedFrom":"user@atlassian.com","changedTo":"newuser@atlassian.com"}],"associatedItems":[{"id":"jira-software-users","name":"jira-software-users","typeName":"GROUP","parentId":"1","parentName":"Jira Internal Directory"}]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/audit-record#","title":"Audit Record","type":"object","properties":{"id":{"type":"integer"},"summary":{"type":"string"},"remoteAddress":{"type":"string"},"authorKey":{"type":"string"},"created":{"type":"string"},"category":{"type":"string"},"eventSource":{"type":"string"},"description":{"type":"string"},"objectItem":{"$ref":"#/definitions/associated-item"},"changedValues":{"type":"array","items":{"title":"Changed Value","type":"object","properties":{"fieldName":{"type":"string"},"changedFrom":{"type":"string"},"changedTo":{"type":"string"}},"additionalProperties":false}},"associatedItems":{"type":"array","items":{"$ref":"#/definitions/associated-item"}}},"definitions":{"associated-item":{"title":"Associated Item","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"typeName":{"type":"string"},"parentId":{"type":"string"},"parentName":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses api/2/avatar Get all system avatarsGET /rest/api/2/avatar/{type}/system

Returns all system avatars of the given type.

Responses Store temporary avatarPOST /rest/api/2/avatar/{type}/temporary

Creates temporary avatar

Request query parameters parameter type description filename string

name of file being uploaded

size long

size of file

Responses Create avatar from temporaryPOST /rest/api/2/avatar/{type}/temporaryCrop

Updates the cropping instructions of the temporary avatar.

Request Example
{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}
Responses api/2/cluster

It gives possibility to manage old node in cluster.

Get all nodesGET /rest/api/2/cluster/nodes Responses Request current index from nodePUT /rest/api/2/cluster/index-snapshot/{nodeId}

request current index from node (the request is processed asynchronously)

Responses Delete nodeDELETE /rest/api/2/cluster/node/{nodeId}

Delete the node from the cluster if state of node is OFFLINE.

Responses Change node state to offlinePUT /rest/api/2/cluster/node/{nodeId}/offline

Change the node's state to offline if the node is reporting as active, but is not alive. Don't use this method as an equivalent of running ./stop-jira.sh. This method doesn't shut down a node, but only changes its state, so that other nodes don't communicate with it.

Responses Get properties keys  experimentalGET /rest/api/2/comment/{commentId}/properties

Returns the keys of all properties for the comment identified by the key or by the id.

Responses Delete property  experimentalDELETE /rest/api/2/comment/{commentId}/properties/{propertyKey}

Removes the property from the comment identified by the key or by the id. Ths user removing the property is required to have permissions to administer the comment.

Responses Set property  experimentalPUT /rest/api/2/comment/{commentId}/properties/{propertyKey}

Sets the value of the specified comment's property.

You can use this resource to store a custom data against the comment identified by the key or by the id. The user who stores the data is required to have permissions to administer the comment.

Responses Get property  experimentalGET /rest/api/2/comment/{commentId}/properties/{propertyKey}

Returns the value of the property with a given key from the comment identified by the key or by the id. The user who retrieves the property is required to have permissions to read the comment.

Responses api/2/component Create componentPOST /rest/api/2/component

Create a component via POST.

Request Example
{"name":"Component 1","description":"This is a Jira component","leadUserName":"fred","assigneeType":"PROJECT_LEAD","isAssigneeTypeValid":false,"project":"PROJECTKEY","projectId":10000}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/component#","title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"},"archived":{"type":"boolean"},"deleted":{"type":"boolean"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}
Responses Update componentPUT /rest/api/2/component/{id}

Modify a component via PUT. Any fields present in the PUT will override existing values. As a convenience, if a field is not present, it is silently ignored.

If leadUserName is an empty string ("") the component lead will be removed.

Request Example
{"name":"Component 1","description":"This is a Jira component","leadUserName":"fred","assigneeType":"PROJECT_LEAD","isAssigneeTypeValid":false,"project":"PROJECTKEY","projectId":10000}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/component#","title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"},"archived":{"type":"boolean"},"deleted":{"type":"boolean"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}
Responses Get componentGET /rest/api/2/component/{id}

Returns a project component.

Responses DeleteDELETE /rest/api/2/component/{id}

Delete a project component.

Request query parameters parameter type description moveIssuesTo string

The new component applied to issues whose 'id' component will be deleted. If this value is null, then the 'id' component is simply removed from the related isues.

Responses Get component related issuesGET /rest/api/2/component/{id}/relatedIssueCounts

Returns counts of issues related to this component.

Responses Get paginated components  experimentalGET /rest/api/2/component/page

Returns paginated list of filtered active components

Request query parameters parameter type description startAt long

Default: 0

the index of the first components to return

maxResults int

Default: 100

the maximum number of components to return

query string

Default:

the string that components names will be matched with

projectIds string

the set of project ids to filter components

Responses api/2/configuration Get configurationGET /rest/api/2/configuration

Returns the information if the optional features in Jira are enabled or disabled. If the time tracking is enabled, it also returns the detailed information about time tracking configuration.

Responses api/2/customFieldOption Get custom field optionGET /rest/api/2/customFieldOption/{id}

Returns a full representation of the Custom Field Option that has the given id.

Responses api/2/customFields Get custom fieldsGET /rest/api/2/customFields Request query parameters parameter type description startAt long

Default: 1

maxResults int

Default: 50

search string projectIds string screenIds string types string sortOrder string sortColumn string lastValueUpdate long Responses Bulk delete custom fieldsDELETE /rest/api/2/customFields Request query parameters parameter type description ids string Responses Get custom field options  experimentalGET /rest/api/2/customFields/{customFieldId}/options

Returns custom field's options defined in a given context composed of projects and issue types.

If the projects and issue types match more than one context or the context for such a combination does not exist then no options are returned.

Request query parameters parameter type description projectIds string

a list of projects in a context.

issueTypeIds string

a list of issue types in a context.

query string

Default:

a string used to filter options. An option matches the query if any word in option's name starts with the given query.

maxResults int

Default: 100

a limit of results.

page int

Default: 1

the page of options to return.

Responses api/2/dashboard ListGET /rest/api/2/dashboard

Returns a list of all dashboards, optionally filtering them.

Request query parameters parameter type description filter string

an optional filter that is applied to the list of dashboards. Valid values include "favourite" for returning only favourite dashboards, and "my" for returning dashboards that are owned by the calling user.

startAt int

the index of the first dashboard to return (0-based). must be 0 or a multiple of maxResults

maxResults int

a hint as to the maximum number of dashboards to return in each call. Note that the Jira server reserves the right to impose a maxResults limit that is lower than the value that a client provides, dues to lack of resources or any other condition. When this happens, your results will be truncated. Callers should always check the returned maxResults to determine the value that is effectively being used.

Responses Get dashboardGET /rest/api/2/dashboard/{id}

Returns a single dashboard.

Responses api/2/dashboard/{dashboardId}/items/{itemId}/properties Get properties keysGET /rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties

Returns the keys of all properties for the dashboard item identified by the id.

Responses Delete propertyDELETE /rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}

Removes the property from the dashboard item identified by the key or by the id. Ths user removing the property is required to have permissions to administer the dashboard item.

Responses Set propertyPUT /rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}

Sets the value of the specified dashboard item's property.

You can use this resource to store a custom data against the dashboard item identified by the id. The user who stores the data is required to have permissions to administer the dashboard item.

Responses Get propertyGET /rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}

Returns the value of the property with a given key from the dashboard item identified by the id. The user who retrieves the property is required to have permissions to read the dashboard item.

Responses api/2/email-templates Upload email templatesPOST /rest/api/2/email-templates

Extracts given zip file to temporary templates folder. If the folder already exists it will replace it's content

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/input-stream#","title":"Input Stream","type":"object"}
Responses Download email templatesGET /rest/api/2/email-templates

Creates a zip file containing email templates at local home and returns the file.

Responses Apply email templatesPOST /rest/api/2/email-templates/apply

Replaces the current email templates pack with previously uploaded one, if exists.

Responses Revert email templates to defaultPOST /rest/api/2/email-templates/revert

Replaces the current email templates pack with default templates, which are copied over from Jira binaries.

Responses Get email typesGET /rest/api/2/email-templates/types

Returns a list of root templates mapped with Event Types. The list can be used to decide which test emails to send.

Responses api/2/field Create custom fieldPOST /rest/api/2/field

Creates a custom field using a definition (object encapsulating custom field data)

Request Example
{"id":"customfield_10000","name":"New custom field","description":"Custom field for picking groups","type":"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker","searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/custom-field-definition#","title":"Custom Field Definition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"searcherKey":{"type":"string"},"projectIds":{"type":"array","items":{"type":"integer"}},"issueTypeIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Get fieldsGET /rest/api/2/field

Returns a list of all fields, both System and Custom

Responses api/2/filter

Resource for searches.

Create filterPOST /rest/api/2/filter

Creates a new filter, and returns newly created filter. Currently sets permissions just using the users default sharing permissions

Request query parameters parameter type description expand string

the parameters to expand

Example
{"name":"All Open Bugs","description":"Lists all open bugs","jql":"type = Bug and resolution is empty","favourite":true,"editable":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/filter#","title":"Filter","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"},"archived":{"type":"boolean"},"deleted":{"type":"boolean"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"},"params":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"},"archived":{"type":"boolean"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"},"user":{"$ref":"#/definitions/user"},"view":{"type":"boolean"},"edit":{"type":"boolean"}},"additionalProperties":false,"required":["view","edit"]}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"editable":{"type":"boolean"}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["favourite","editable"]}
Responses Edit filterPUT /rest/api/2/filter/{id}

Updates an existing filter, and returns its new value.

The following properties of a filter can be updated: 'jql', 'name', 'description'. Additionally, administrators can also update the 'owner' field. To get, set or unset 'favourite', use rest/api/1.0/filters/{id}/favourite with GET, PUT and DELETE methods instead.

Request query parameters parameter type description expand string

the parameters to expand

Example
{"name":"All Open Bugs","description":"Lists all open bugs","jql":"type = Bug and resolution is empty","favourite":true,"editable":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/filter#","title":"Filter","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"},"archived":{"type":"boolean"},"deleted":{"type":"boolean"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"},"params":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"},"archived":{"type":"boolean"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"},"user":{"$ref":"#/definitions/user"},"view":{"type":"boolean"},"edit":{"type":"boolean"}},"additionalProperties":false,"required":["view","edit"]}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"editable":{"type":"boolean"}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["favourite","editable"]}
Responses Delete filterDELETE /rest/api/2/filter/{id}

Delete a filter.

Responses Get filterGET /rest/api/2/filter/{id}

Returns a filter given an id

Request query parameters parameter type description expand string

the parameters to expand

Responses Default columnsGET /rest/api/2/filter/{id}/columns

Returns the default columns for the given filter. Currently logged in user will be used as the user making such request.

Responses Set columnsPUT /rest/api/2/filter/{id}/columns

Sets the default columns for the given filter.

Request Responses Reset columnsDELETE /rest/api/2/filter/{id}/columns

Resets the columns for the given filter such that the filter no longer has its own column config.

Responses Get share permissionsGET /rest/api/2/filter/{id}/permission

Returns all share permissions of the given filter.

Responses Add share permissionPOST /rest/api/2/filter/{id}/permission

Adds a share permissions to the given filter. Adding a global permission removes all previous permissions from the filter.

Request Example
[{"type":"group","groupname":"jira-administrators","view":true,"edit":false},{"type":"user","userKey":"userKey","view":true,"edit":true}]
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/share-permission-input#","title":"Share Permission Input","type":"object","properties":{"type":{"type":"string"},"projectId":{"type":"string"},"groupname":{"type":"string"},"projectRoleId":{"type":"string"},"userKey":{"type":"string"},"view":{"type":"boolean"},"edit":{"type":"boolean"}},"additionalProperties":false,"required":["view","edit"]}
Responses Get share permissionGET /rest/api/2/filter/{id}/permission/{permissionId}

Returns a single share permission of the given filter.

Responses Delete share permissionDELETE /rest/api/2/filter/{id}/permission/{permission-id}

Removes a share permissions from the given filter.

Responses Get default share scopeGET /rest/api/2/filter/defaultShareScope

Returns the default share scope of the logged-in user.

Responses Set default share scopePUT /rest/api/2/filter/defaultShareScope

Sets the default share scope of the logged-in user.

Available values are: AUTHENTICATED (for sharing with all logged-in users) and PRIVATE (for no shares).

Request Example
{"scope":"AUTHENTICATED"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/default-share-scope#","title":"Default Share Scope","type":"object","properties":{"scope":{"type":"string","enum":["GLOBAL","AUTHENTICATED","PRIVATE"]}},"additionalProperties":false}
Responses Get favourite filtersGET /rest/api/2/filter/favourite

Returns the favourite filters of the logged-in user.

Request query parameters parameter type description expand string

the parameters to expand

Responses api/2/group Create groupPOST /rest/api/2/group

Creates a group by given group parameter

Returns REST representation for the requested group.

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/add-group#","title":"Add Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}
Responses Get group  deprecatedGET /rest/api/2/group

Returns REST representation for the requested group. Allows to get list of active users belonging to the specified group and its subgroups if "users" expand option is provided. You can page through users list by using indexes in expand param. For example to get users from index 10 to index 15 use "users[10:15]" expand value. This will return 6 users (if there are at least 16 users in this group). Indexes are 0-based and inclusive.

This resource is deprecated, please use group/member API instead.

Request query parameters parameter type description groupname string

A name of requested group.

expand string

List of fields to expand. Currently only available expand is "users".

Responses Remove groupDELETE /rest/api/2/group

Deletes a group by given group parameter.

Returns no content

Request query parameters parameter type description groupname string

(mandatory) The name of the group to delete.

swapGroup string

If you delete a group and content is restricted to that group, the content will be hidden from all users. To prevent this, use this parameter to specify a different group to transfer the restrictions (comments and worklogs only) to.

Responses Get users from groupGET /rest/api/2/group/member

This resource returns a paginated list of users who are members of the specified group and its subgroups. Users in the page are ordered by user names. User of this resource is required to have sysadmin or admin permissions.

Request query parameters parameter type description groupname string

a name of the group for which members will be returned.

includeInactiveUsers boolean

Default: false

inactive users will be included in the response if set to true.

startAt long

Default: 0

the index of the first user in group to return (0 based).

maxResults int

Default: 50

the maximum number of users to return (max 50).

Responses Add user to groupPOST /rest/api/2/group/user

Adds given user to a group.

Returns the current state of the group.

Request query parameters parameter type description groupname string

A name of requested group.

Example
{"name":"charlie"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/update-user-to-group#","title":"Update User To Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}
Responses Remove user from groupDELETE /rest/api/2/group/user

Removes given user from a group.

Returns no content

Request query parameters parameter type description groupname string

A name of requested group.

username string

User to remove from a group

Responses api/2/groups

REST endpoint for searching groups in a group picker

Find groupsGET /rest/api/2/groups/picker

Returns groups with substrings matching a given query. This is mainly for use with the group picker, so the returned groups contain html to be used as picker suggestions. The groups are also wrapped in a single response object that also contains a header for use in the picker, specifically Showing X of Y matching groups.

The number of groups returned is limited by the system property "jira.ajax.autocomplete.limit"

The groups will be unique and sorted.

Request query parameters parameter type description query string

a String to match groups agains

exclude string maxResults int userName string Responses api/2/groupuserpicker Find users and groupsGET /rest/api/2/groupuserpicker

Returns a list of users and groups matching query with highlighting. This resource cannot be accessed anonymously.

Request query parameters parameter type description query string

A string used to search username, Name or e-mail address

maxResults int

the maximum number of users to return (defaults to 50). The maximum allowed value is 1000. If you specify a value that is higher than this number, your search results will be truncated.

showAvatar boolean fieldId string

The custom field id, if this request comes from a custom field, such as a user picker. Optional.

projectId string

The list of project ids to further restrict the search This parameter can occur multiple times to pass in multiple project ids. Comma separated value is not supported. This parameter is only used when fieldId is present.

issueTypeId string

The list of issue type ids to further restrict the search. This parameter can occur multiple times to pass in multiple issue type ids. Comma separated value is not supported. Special values such as -1 (all standard issue types), -2 (all subtask issue types) are supported. This parameter is only used when fieldId is present.

Responses api/2/index/summary

REST resource for index summary

Get index summary  experimentalGET /rest/api/2/index/summary

Summarizes index condition of current node.

Returned data consists of:

issueIndex

can contain:

replicationQueues

's map values can contain:

Responses api/2/index-snapshot

REST resource for index snapshot operations.

Create index snapshotPOST /rest/api/2/index-snapshot

Tries to start taking an index snapshot if no other snapshot creation process is in progress. Performs a cleanup of index snapshots directory so only a limited number of most recent snapshots are persisted. If another snapshot creation process is in progress, returns 409 without waiting for the other process to complete.

Only System Administrator can request creation of snapshot. There is no guarantee as to the time after which the snapshot will be available.

Responses List index snapshotGET /rest/api/2/index-snapshot

Lists available index snapshots absolute paths with timestamps.

Only System Administrator can request listing index snapshots.

Responses Is index snapshot runningGET /rest/api/2/index-snapshot/isRunning

Answers true if index snapshot creation is currently running.

Only System Administrator can request current snapshot creation status.

Responses api/2/issue Create issuePOST /rest/api/2/issue

Creates an issue or a sub-task from a JSON representation.

The fields that can be set on create, in either the fields parameter or the update parameter can be determined using the

/rest/api/2/issue/createmeta

resource. If a field is not configured to appear on the create screen, then it will not be in the createmeta, and a field validation error will occur if it is submitted.

Creating a sub-task is similar to creating a regular issue, with two important differences:

Request query parameters parameter type description updateHistory boolean

Default: false

if true then the user's project history is updated

Example
{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2011-07-05T11:05:00.000+0000"}}]},"fields":{"project":{"id":"10000"},"summary":"something's wrong","issuetype":{"id":"10000"},"assignee":{"name":"homer"},"reporter":{"name":"smithers"},"priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"originalEstimate":"10","remainingEstimate":"5"},"security":{"id":"10000"},"versions":[{"id":"10000"}],"environment":"environment","description":"description","duedate":"2011-03-11","fixVersions":[{"id":"10001"}],"components":[{"id":"10000"}],"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"customfield_20000":"06/Jul/11 3:25 PM","customfield_40000":"this is a text field","customfield_70000":["jira-administrators","jira-software-users"],"customfield_60000":"jira-software-users","customfield_50000":"this is a text area. big text.","customfield_10000":"09/Jun/81"}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-update#","title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"opsbarSequence":{"type":"integer"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"fieldId":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}},"defaultValue":{}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses Create issuesPOST /rest/api/2/issue/bulk

Creates issues or sub-tasks from a JSON representation.

Creates many issues in one bulk operation.

Creating a sub-task is similar to creating a regular issue. More details can be found in createIssue section: {@link IssueResource#createIssue(boolean, IssueUpdateBean)}}}

Request Example
{"issueUpdates":[{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2011-07-05T11:05:00.000+0000"}}]},"fields":{"project":{"id":"10000"},"summary":"something's wrong","issuetype":{"id":"10000"},"assignee":{"name":"homer"},"reporter":{"name":"smithers"},"priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"originalEstimate":"10","remainingEstimate":"5"},"security":{"id":"10000"},"versions":[{"id":"10000"}],"environment":"environment","description":"description","duedate":"2011-03-11","fixVersions":[{"id":"10001"}],"components":[{"id":"10000"}],"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"customfield_20000":"06/Jul/11 3:25 PM","customfield_40000":"this is a text field","customfield_70000":["jira-administrators","jira-software-users"],"customfield_60000":"jira-software-users","customfield_50000":"this is a text area. big text.","customfield_10000":"09/Jun/81"}},{"update":{},"fields":{"project":{"id":"1000"},"summary":"something's very wrong","issuetype":{"id":"10000"},"assignee":{"name":"jerry"},"reporter":{"name":"kosecki"},"priority":{"id":"20000"},"labels":["new_release"],"timetracking":{"originalEstimate":"15","remainingEstimate":"5"},"security":{"id":"10000"},"versions":[{"id":"10000"}],"environment":"environment","description":"description","duedate":"2011-04-16","fixVersions":[{"id":"10001"}],"components":[{"id":"10000"}],"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"customfield_20000":"06/Jul/11 3:25 PM","customfield_40000":"this is a text field","customfield_70000":["jira-administrators","jira-software-users"],"customfield_60000":"jira-software-users","customfield_50000":"this is a text area. big text.","customfield_10000":"09/Jun/81"}}]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issues-update#","title":"Issues Update","type":"object","properties":{"issueUpdates":{"type":"array","items":{"title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"opsbarSequence":{"type":"integer"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"fieldId":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}},"defaultValue":{}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses Get issueGET /rest/api/2/issue/{issueIdOrKey}

Returns a full representation of the issue for the given issue key.

An issue JSON consists of the issue key, a collection of fields, a link to the workflow transition sub-resource, and (optionally) the HTML rendered values of any fields that support it (e.g. if wiki syntax is enabled for the description or comments).

The fields param (which can be specified multiple times) gives a comma-separated list of fields to include in the response. This can be used to retrieve a subset of fields. A particular field can be excluded by prefixing it with a minus.

By default, all (*all) fields are returned in this get-issue resource. Note: the default is different when doing a jql search -- the default there is just navigable fields (*navigable).

The {@code properties} param is similar to {@code fields} and specifies a comma-separated list of issue properties to include. Unlike {@code fields}, properties are not included by default. To include them all send {@code ?properties=*all}. You can also include only specified properties or exclude some properties with a minus (-) sign.

Jira will attempt to identify the issue by the

issueIdOrKey

path parameter. This can be an issue id, or an issue key. If the issue cannot be found via an exact match, Jira will also look for the issue in a case-insensitive way, or by looking to see if the issue was moved. In either of these cases, the request will proceed as normal (a 302 or other redirect will

not

be returned). The issue key contained in the response will indicate the current value of issue's key.

The

expand

param is used to include, hidden by default, parts of response. This can be used to include:

Request query parameters parameter type description fields string

the list of fields to return for the issue. By default, all fields are returned.

expand string properties string

the list of properties to return for the issue. By default no properties are returned.

updateHistory boolean Responses Delete issueDELETE /rest/api/2/issue/{issueIdOrKey}

Delete an issue.

If the issue has subtasks you must set the parameter deleteSubtasks=true to delete the issue. You cannot delete an issue without its subtasks also being deleted.

Request query parameters parameter type description deleteSubtasks string

a String of true or false indicating that any subtasks should also be deleted. If the issue has no subtasks this parameter is ignored. If the issue has subtasks and this parameter is missing or false, then the issue will not be deleted and an error will be returned.

Responses Edit issuePUT /rest/api/2/issue/{issueIdOrKey}

Edits an issue from a JSON representation.

The issue can either be updated by setting explicit the field value(s) or by using an operation to change the field value.

The fields that can be updated, in either the fields parameter or the update parameter, can be determined using the

/rest/api/2/issue/{issueIdOrKey}/editmeta

resource.

If a field is not configured to appear on the edit screen, then it will not be in the editmeta, and a field validation error will occur if it is submitted.

Specifying a "field_id": field_value in the "fields" is a shorthand for a "set" operation in the "update" section.

Field should appear either in "fields" or "update", not in both.

Request query parameters parameter type description notifyUsers boolean

Default: true

send the email with notification that the issue was updated to users that watch it. Admin or project admin permissions are required to disable the notification.

Example
{"update":{"summary":[{"set":"Bug in business logic"}],"components":[{"set":""}],"timetracking":[{"edit":{"originalEstimate":"1w 1d","remainingEstimate":"4d"}}],"labels":[{"add":"triaged"},{"remove":"blocker"}]},"fields":{"summary":"This is a shorthand for a set operation on the summary field","customfield_10010":1,"customfield_10000":"This is a shorthand for a set operation on a text custom field"},"historyMetadata":{"type":"myplugin:type","description":"text description","descriptionKey":"plugin.changereason.i18.key","activityDescription":"text description","activityDescriptionKey":"plugin.activity.i18.key","actor":{"id":"tony","displayName":"Tony","type":"mysystem-user","avatarUrl":"http://mysystem/avatar/tony.jpg","url":"http://mysystem/users/tony"},"generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"extraData":{"keyvalue":"extra data","goes":"here"}},"properties":[{"key":"key1","value":'properties' : 'can be set at issue create or update time'},{"key":"key2","value":'and' : 'there can be multiple properties'}]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-update#","title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"opsbarSequence":{"type":"integer"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"fieldId":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}},"defaultValue":{}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses Archive issuePUT /rest/api/2/issue/{issueIdOrKey}/archive

Archives an issue.

Request query parameters parameter type description notifyUsers boolean

Default: true

send the email with notification that the issue was updated to users that watch it. Admin or project admin permissions are required to disable the notification.

Responses AssignPUT /rest/api/2/issue/{issueIdOrKey}/assignee

Assigns an issue to a user. You can use this resource to assign issues when the user submitting the request has the assign permission but not the edit issue permission. If the name is "-1" automatic assignee is used. A null name will remove the assignee.

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user#","title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["active"]}
Responses Get commentsGET /rest/api/2/issue/{issueIdOrKey}/comment

Returns all comments for an issue.

Results can be ordered by the "created" field which means the date a comment was added.

Request query parameters parameter type description startAt long

the page offset, if not specified then defaults to 0

maxResults int

how many results on the page should be included. Defaults to 50.

orderBy string

ordering of the results.

expand string

optional flags: renderedBody (provides body rendered in HTML)

Responses Add commentPOST /rest/api/2/issue/{issueIdOrKey}/comment

Adds a new comment to an issue.

Request query parameters parameter type description expand string

optional flags: renderedBody (provides body rendered in HTML)

Example
{"body":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.","visibility":{"type":"role","value":"Administrators"}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/comment#","title":"Comment","type":"object","properties":{"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
Responses Update commentPUT /rest/api/2/issue/{issueIdOrKey}/comment/{id}

Updates an existing comment using its JSON representation.

Request query parameters parameter type description expand string

optional flags: renderedBody (provides body rendered in HTML)

Example
{"body":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.","visibility":{"type":"role","value":"Administrators"}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/comment#","title":"Comment","type":"object","properties":{"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
Responses Delete commentDELETE /rest/api/2/issue/{issueIdOrKey}/comment/{id}

Deletes an existing comment .

Responses Get commentGET /rest/api/2/issue/{issueIdOrKey}/comment/{id}

Returns a single comment.

Request query parameters parameter type description expand string

optional flags: renderedBody (provides body rendered in HTML)

Responses Set pin commentPUT /rest/api/2/issue/{issueIdOrKey}/comment/{id}/pin Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/boolean#","title":"boolean","type":"boolean"}
Responses Get edit issue metaGET /rest/api/2/issue/{issueIdOrKey}/editmeta

Returns the meta data for editing an issue.

The fields in the editmeta correspond to the fields in the edit screen for the issue. Fields not in the screen will not be in the editmeta.

Responses NotifyPOST /rest/api/2/issue/{issueIdOrKey}/notify

Sends a notification (email) to the list or recipients defined in the request.

Request Example
{"subject":"Duis eu justo eget augue iaculis fermentum.","textBody":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.","htmlBody":"Lorem ipsum <strong>dolor</strong> sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.","to":{"reporter":false,"assignee":false,"watchers":true,"voters":true,"users":[{"name":"fred","active":false}],"groups":[{"name":"notification-group","self":"http://www.example.com/jira/rest/api/2/group?groupname=notification-group"}]},"restrict":{"groups":[{"name":"notification-group","self":"http://www.example.com/jira/rest/api/2/group?groupname=notification-group"}],"permissions":[{"id":"10","key":"BROWSE"}]}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/notification#","title":"Notification","type":"object","properties":{"subject":{"type":"string"},"textBody":{"type":"string"},"htmlBody":{"type":"string"},"to":{"title":"To","type":"object","properties":{"reporter":{"type":"boolean"},"assignee":{"type":"boolean"},"watchers":{"type":"boolean"},"voters":{"type":"boolean"},"users":{"type":"array","items":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"groups":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["reporter","assignee","watchers","voters"]},"restrict":{"title":"Restrict","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/group"}},"permissions":{"type":"array","items":{"title":"Permission","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses Get pinned commentsGET /rest/api/2/issue/{issueIdOrKey}/pinned-comments

Returns all pinned to the issue comments.

Responses Get remote issue linksGET /rest/api/2/issue/{issueIdOrKey}/remotelink

A REST sub-resource representing the remote issue links on the issue.

Request query parameters Responses Create or update remote issue linkPOST /rest/api/2/issue/{issueIdOrKey}/remotelink

Creates or updates a remote issue link from a JSON representation. If a globalId is provided and a remote issue link exists with that globalId, the remote issue link is updated. Otherwise, the remote issue link is created.

Request Example
{"globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Crazy customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/remote-issue-link-create-or-update-request#","title":"Remote Issue Link Create Or Update Request","type":"object","properties":{"globalId":{"type":"string"},"application":{"title":"Application","type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"relationship":{"type":"string"},"object":{"title":"Remote Object","type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"icon":{"$ref":"#/definitions/icon"},"status":{"title":"Status","type":"object","properties":{"resolved":{"type":"boolean"},"icon":{"$ref":"#/definitions/icon"}},"additionalProperties":false}},"additionalProperties":false}},"definitions":{"icon":{"title":"Icon","type":"object","properties":{"url16x16":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses Delete remote issue link by global idDELETE /rest/api/2/issue/{issueIdOrKey}/remotelink

Delete the remote issue link with the given global id on the issue.

Request query parameters parameter type description globalId string

the global id of the remote issue link

Responses Get remote issue link by idGET /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}

Get the remote issue link with the given id on the issue.

Responses Update remote issue linkPUT /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}

Updates a remote issue link from a JSON representation. Any fields not provided are set to null.

Request Example
{"globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Crazy customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/remote-issue-link-create-or-update-request#","title":"Remote Issue Link Create Or Update Request","type":"object","properties":{"globalId":{"type":"string"},"application":{"title":"Application","type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"relationship":{"type":"string"},"object":{"title":"Remote Object","type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"icon":{"$ref":"#/definitions/icon"},"status":{"title":"Status","type":"object","properties":{"resolved":{"type":"boolean"},"icon":{"$ref":"#/definitions/icon"}},"additionalProperties":false}},"additionalProperties":false}},"definitions":{"icon":{"title":"Icon","type":"object","properties":{"url16x16":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses Delete remote issue link by idDELETE /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}

Delete the remote issue link with the given id on the issue.

Responses Restore issuePUT /rest/api/2/issue/{issueIdOrKey}/restore

Restores an archived issue.

Request query parameters parameter type description notifyUsers boolean

Default: true

send the email with notification that the issue was updated to users that watch it. Admin or project admin permissions are required to disable the notification.

Responses Do transitionPOST /rest/api/2/issue/{issueIdOrKey}/transitions

Perform a transition on an issue. When performing the transition you can update or set other issue fields.

The fields that can be set on transtion, in either the fields parameter or the update parameter can be determined using the

/rest/api/2/issue/{issueIdOrKey}/transitions?expand=transitions.fields

resource. If a field is not configured to appear on the transition screen, then it will not be in the transition metadata, and a field validation error will occur if it is submitted.

The updateHistory param adds the issues retrieved by this method to the current user's issue history, if set to true (by default, the issue history does not include issues retrieved via the REST API). You can view the issue history in the Jira application, via the Issues dropdown or by using the lastViewed JQL field in an issue search.

Request Example
{"update":{"comment":[{"add":{"body":"Bug has been fixed."}}]},"fields":{"assignee":{"name":"bob"},"resolution":{"name":"Fixed"}},"transition":{"id":"5"},"historyMetadata":{"type":"myplugin:type","description":"text description","descriptionKey":"plugin.changereason.i18.key","activityDescription":"text description","activityDescriptionKey":"plugin.activity.i18.key","actor":{"id":"tony","displayName":"Tony","type":"mysystem-user","avatarUrl":"http://mysystem/avatar/tony.jpg","url":"http://mysystem/users/tony"},"generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"extraData":{"keyvalue":"extra data","goes":"here"}}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-update#","title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"opsbarSequence":{"type":"integer"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"fieldId":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}},"defaultValue":{}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
Responses Get transitionsGET /rest/api/2/issue/{issueIdOrKey}/transitions

Get a list of the transitions possible for this issue by the current user, along with fields that are required and their types.

Fields will only be returned if

expand=transitions.fields

.

The fields in the metadata correspond to the fields in the transition screen for that transition. Fields not in the screen will not be in the metadata.

Request query parameters parameter type description transitionId string Responses Remove voteDELETE /rest/api/2/issue/{issueIdOrKey}/votes

Remove your vote from an issue. (i.e. "unvote")

Responses Add votePOST /rest/api/2/issue/{issueIdOrKey}/votes

Cast your vote in favour of an issue.

Responses Get votesGET /rest/api/2/issue/{issueIdOrKey}/votes

A REST sub-resource representing the voters on the issue.

Responses Get issue watchersGET /rest/api/2/issue/{issueIdOrKey}/watchers

Returns the list of watchers for the issue with the given key.

Responses Add watcherPOST /rest/api/2/issue/{issueIdOrKey}/watchers

Adds a user to an issue's watcher list.

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Responses Remove watcherDELETE /rest/api/2/issue/{issueIdOrKey}/watchers

Removes a user from an issue's watcher list.

Request query parameters parameter type description username string

a String containing the name of the user to remove from the watcher list. Must not be null.

Responses Get issue worklogGET /rest/api/2/issue/{issueIdOrKey}/worklog

Returns all work logs for an issue.
Note: Work logs won't be returned if the Log work field is hidden for the project.

Responses Add worklogPOST /rest/api/2/issue/{issueIdOrKey}/worklog

Adds a new worklog entry to an issue.

Request query parameters parameter type description adjustEstimate string

(optional) allows you to provide specific instructions to update the remaining time estimate of the issue. Valid values are

newEstimate string

(required when "new" is selected for adjustEstimate) the new value for the remaining estimate field. e.g. "2d"

reduceBy string

(required when "manual" is selected for adjustEstimate) the amount to reduce the remaining estimate by e.g. "2d"

Example
{"comment":"I did some work here.","visibility":{"type":"group","value":"jira-developers"},"started":"2024-06-26T10:20:31.368+0000","timeSpentSeconds":12000}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/worklog#","title":"Worklog","type":"object","properties":{"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
Responses Get worklogGET /rest/api/2/issue/{issueIdOrKey}/worklog/{id}

Returns a specific worklog.
Note: The work log won't be returned if the Log work field is hidden for the project.

Responses Update worklogPUT /rest/api/2/issue/{issueIdOrKey}/worklog/{id}

Updates an existing worklog entry.

Note that:

Request query parameters parameter type description adjustEstimate string

(optional) allows you to provide specific instructions to update the remaining time estimate of the issue. Valid values are

newEstimate string

(required when "new" is selected for adjustEstimate) the new value for the remaining estimate field.

Example
{"comment":"I did some work here.","visibility":{"type":"group","value":"jira-developers"},"started":"2024-06-26T10:20:31.368+0000","timeSpentSeconds":12000}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/worklog#","title":"Worklog","type":"object","properties":{"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
Responses Delete worklogDELETE /rest/api/2/issue/{issueIdOrKey}/worklog/{id}

Deletes an existing worklog entry.

Request query parameters parameter type description adjustEstimate string

(optional) allows you to provide specific instructions to update the remaining time estimate of the issue. Valid values are

newEstimate string

(required when "new" is selected for adjustEstimate) the new value for the remaining estimate field. e.g. "2d"

increaseBy string

(required when "manual" is selected for adjustEstimate) the amount to increase the remaining estimate by e.g. "2d"

Responses Archive issuesPOST /rest/api/2/issue/archive

Archives a list of issues.

Request query parameters parameter type description notifyUsers boolean

Default: false

send the email with notification that the issue was updated to users that watch it. Admin or project admin permissions are required to disable the notification.

Schema
{"type":"array","items":{"type":"string"}}
Responses Get create issue meta project issue typesGET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes

Returns the metadata for issue types used for creating issues. Data will not be returned if the user does not have permission to create issues in that project.

Request query parameters parameter type description startAt long

Default: 0

the page offset, if not specified then defaults to 0

maxResults int

Default: 50

how many results on the page should be included. Defaults to 50.

Responses Get create issue meta fieldsGET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}

Returns the metadata for issue types used for creating issues. Data will not be returned if the user does not have permission to create issues in that project.

Request query parameters parameter type description startAt long

Default: 0

the page offset, if not specified then defaults to 0

maxResults int

Default: 50

how many results on the page should be included. Defaults to 50.

Responses Get issue picker resourceGET /rest/api/2/issue/picker

Returns suggested issues which match the auto-completion query for the user which executes this request. This REST method will check the user's history and the user's browsing context and select this issues, which match the query.

Request query parameters parameter type description query string

the query.

currentJQL string

the JQL in context of which the request is executed. Only issues which match this JQL query will be included in results.

currentIssueKey string

the key of the issue in context of which the request is executed. The issue which is in context will not be included in the auto-completion result, even if it matches the query.

currentProjectId string

the id of the project in context of which the request is executed. Suggested issues will be only from this project.

showSubTasks boolean

if set to false, subtasks will not be included in the list.

showSubTaskParent boolean

if set to false and request is executed in context of a subtask, the parent issue will not be included in the auto-completion result, even if it matches the query.

Responses api/2/issue/{issueIdOrKey}/attachments

Issue attachments

Add attachmentPOST /rest/api/2/issue/{issueIdOrKey}/attachments

Add one or more attachments to an issue.

This resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. Most client libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components library provides a MultiPartEntity that makes it simple to submit a multipart POST.

In order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of X-Atlassian-Token: no-check with the request, otherwise it will be blocked.

The name of the multipart/form-data parameter that contains attachments must be "file"

A simple example to upload a file called "myfile.txt" to issue REST-123:

curl -D- -u admin:admin -X POST -H "X-Atlassian-Token: no-check" -F "file=@myfile.txt" http://myhost/rest/api/2/issue/TEST-123/attachments
Responses api/2/issue/{issueIdOrKey}/properties Get properties keys  experimentalGET /rest/api/2/issue/{issueIdOrKey}/properties

Returns the keys of all properties for the issue identified by the key or by the id.

Responses Delete property  experimentalDELETE /rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}

Removes the property from the issue identified by the key or by the id. Ths user removing the property is required to have permissions to edit the issue.

Responses Set property  experimentalPUT /rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}

Sets the value of the specified issue's property.

You can use this resource to store a custom data against the issue identified by the key or by the id. The user who stores the data is required to have permissions to edit the issue.

Responses Get property  experimentalGET /rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}

Returns the value of the property with a given key from the issue identified by the key or by the id. The user who retrieves the property is required to have permissions to read the issue.

Responses api/2/issue/{issueIdOrKey}/subtask Get sub tasksGET /rest/api/2/issue/{issueIdOrKey}/subtask

Returns an issue's subtask list

Responses Move sub tasksPOST /rest/api/2/issue/{issueIdOrKey}/subtask/move

Reorders an issue's subtasks by moving the subtask at index "from" to index "to".

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-sub-task-move-position#","title":"Issue Sub Task Move Position","type":"object","properties":{"current":{"type":"integer"}},"additionalProperties":false,"required":["current"]}
Responses Can move sub taskGET /rest/api/2/issue/{issueIdOrKey}/subtask/move Responses api/2/issueLink

The Link Issue Resource provides functionality to manage issue links.

Link issuesPOST /rest/api/2/issueLink

Creates an issue link between two issues. The user requires the link issue permission for the issue which will be linked to another issue. The specified link type in the request is used to create the link and will create a link from the first issue to the second issue using the outward description. It also create a link from the second issue to the first issue using the inward description of the issue link type. It will add the supplied comment to the first issue. The comment can have a restriction who can view it. If group is specified, only users of this group can view this comment, if roleLevel is specified only users who have the specified role can view this comment. The user who creates the issue link needs to belong to the specified group or have the specified role.

Request Example
{"type":{"name":"Duplicate"},"inwardIssue":{"key":"HSP-1"},"outwardIssue":{"key":"MKY-1"},"comment":{"body":"Linked related issue!","visibility":{"type":"group","value":"jira-software-users"}}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/link-issue-request#","title":"Link Issue Request","type":"object","properties":{"type":{"title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"}},"additionalProperties":false},"inwardIssue":{"$ref":"#/definitions/issue-ref"},"outwardIssue":{"$ref":"#/definitions/issue-ref"},"comment":{"title":"Comment","type":"object","properties":{"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"additionalProperties":false}},"definitions":{"issue-ref":{"title":"Issue Ref","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"fields":{"title":"Fields","type":"object","properties":{"summary":{"type":"string"},"status":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"issuetype":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]},"priority":{"title":"Priority","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
Responses Get issue linkGET /rest/api/2/issueLink/{linkId}

Returns an issue link with the specified id.

Responses Delete issue linkDELETE /rest/api/2/issueLink/{linkId}

Deletes an issue link with the specified id. To be able to delete an issue link you must be able to view both issues and must have the link issue permission for at least one of the issues.

Responses api/2/issueLinkType

Rest resource to retrieve a list of issue link types.

Get issue link typesGET /rest/api/2/issueLinkType

Returns a list of available issue link types, if issue linking is enabled. Each issue link type has an id, a name and a label for the outward and inward link relationship.

Responses Create issue link typePOST /rest/api/2/issueLinkType

Create a new issue link type.

Request Example
{"name":"Duplicate","inward":"Duplicated by","outward":"Duplicates"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-type#","title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"}},"additionalProperties":false}
Responses Get issue link typeGET /rest/api/2/issueLinkType/{issueLinkTypeId}

Returns for a given issue link type id all information about this issue link type.

Responses Delete issue link typeDELETE /rest/api/2/issueLinkType/{issueLinkTypeId}

Delete the specified issue link type.

Responses Update issue link typePUT /rest/api/2/issueLinkType/{issueLinkTypeId}

Update the specified issue link type.

Request Example
{"name":"Duplicate","inward":"Duplicated by","outward":"Duplicates"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-type#","title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"}},"additionalProperties":false}
Responses api/2/issuesecurityschemes

REST resource that allows to view security schemes defined in the product.

Get issue security schemesGET /rest/api/2/issuesecurityschemes

Returns all issue security schemes that are defined.

Responses Get issue security schemeGET /rest/api/2/issuesecurityschemes/{id}

Returns the issue security scheme along with that are defined.

Responses api/2/issuetype Get issue all typesGET /rest/api/2/issuetype

Returns a list of all issue types visible to the user

Responses Create issue typePOST /rest/api/2/issuetype

Creates an issue type from a JSON representation and adds the issue newly created issue type to the default issue type scheme.

Request Example
{"name":"name","description":"description","type":"standard"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-create#","title":"Issue Type Create","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["subtask","standard"]}},"additionalProperties":false}
Responses Get issue typeGET /rest/api/2/issuetype/{id}

Returns a full representation of the issue type that has the given id.

Responses Delete issue typeDELETE /rest/api/2/issuetype/{id}

Deletes the specified issue type. If the issue type has any associated issues, these issues will be migrated to the alternative issue type specified in the parameter. You can determine the alternative issue types by calling the /rest/api/2/issuetype/{id}/alternatives resource.

Request query parameters parameter type description alternativeIssueTypeId string

the id of an issue type to which issues associated with the removed issue type will be migrated.

Responses Update issue typePUT /rest/api/2/issuetype/{id}

Updates the specified issue type from a JSON representation.

Request Example
{"name":"name","description":"description","avatarId":1}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-update#","title":"Issue Type Update","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"avatarId":{"type":"integer"}},"additionalProperties":false}
Responses Get alternative issue typesGET /rest/api/2/issuetype/{id}/alternatives

Returns a list of all alternative issue types for the given issue type id. The list will contain these issues types, to which issues assigned to the given issue type can be migrated. The suitable alternatives are issue types which are assigned to the same workflow, the same field configuration and the same screen scheme.

Responses Create avatar from temporaryPOST /rest/api/2/issuetype/{id}/avatar

Converts temporary avatar into a real avatar

Request Example
{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}
Responses Store temporary avatarPOST /rest/api/2/issuetype/{id}/avatar/temporary

Creates temporary avatar. Creating a temporary avatar is part of a 3-step process in uploading a new avatar for an issue type: upload, crop, confirm.

The following examples shows these three steps using curl. The cookies (session) need to be preserved between requests, hence the use of -b and -c. The id created in step 2 needs to be passed to step 3 (you can simply pass the whole response of step 2 as the request of step 3).

 curl -c cookiejar.txt -X POST -u admin:admin -H "X-Atlassian-Token: no-check" \
   -H "Content-Type: image/png" --data-binary @mynewavatar.png \
   'http://localhost:8090/jira/rest/api/2/issuetype/1/avatar/temporary?filename=mynewavatar.png'

 curl -b cookiejar.txt -X POST -u admin:admin -H "X-Atlassian-Token: no-check" \
   -H "Content-Type: application/json" --data '{"cropperWidth": "65","cropperOffsetX": "10","cropperOffsetY": "16"}' \
   -o tmpid.json \
   http://localhost:8090/jira/rest/api/2/issuetype/1/avatar

 curl -b cookiejar.txt -X PUT -u admin:admin -H "X-Atlassian-Token: no-check" \
   -H "Content-Type: application/json" --data-binary @tmpid.json \
   http://localhost:8090/jira/rest/api/2/issuetype/1/avatar
 
Request query parameters parameter type description filename string

name of file being uploaded

size long

size of file

Responses Store temporary avatar using multi partPOST /rest/api/2/issuetype/{id}/avatar/temporary

Creates temporary avatar using multipart. The response is sent back as JSON stored in a textarea. This is because the client uses remote iframing to submit avatars using multipart. So we must send them a valid HTML page back from which the client parses the JSON from.

Creating a temporary avatar is part of a 3-step process in uploading a new avatar for an issue type: upload, crop, confirm. This endpoint allows you to use a multipart upload instead of sending the image directly as the request body.

You *must* use "avatar" as the name of the upload parameter:

 curl -c cookiejar.txt -X POST -u admin:admin -H "X-Atlassian-Token: no-check" \
   -F "avatar=@mynewavatar.png;type=image/png" \
   'http://localhost:8090/jira/rest/api/2/issuetype/1/avatar/temporary'
 
Responses Get paginated issue types  experimentalGET /rest/api/2/issuetype/page

Returns paginated list of filtered issue types

Request query parameters parameter type description startAt long

Default: 0

the index of the first issue type to return

maxResults int

Default: 100

the maximum number of issue type to return

query string

Default:

the string that issue type names will be matched with

projectIds string

the set of project ids to filter issue types

header parameters parameter type description X-Requested-With string Responses api/2/issuetype/{issueTypeId}/properties

This resource allows to store custom properties for issue types.

Get property keys  experimentalGET /rest/api/2/issuetype/{issueTypeId}/properties

Returns the keys of all properties for the issue type identified by the id.

Responses Delete property  experimentalDELETE /rest/api/2/issuetype/{issueTypeId}/properties/{propertyKey}

Removes the property from the issue type identified by the id. Ths user removing the property is required to have permissions to edit the issue type.

Responses Set property  experimentalPUT /rest/api/2/issuetype/{issueTypeId}/properties/{propertyKey}

Sets the value of the specified issue type's property.

You can use this resource to store a custom data against an issue type identified by the id. The user who stores the data is required to have permissions to edit an issue type.

Responses Get property  experimentalGET /rest/api/2/issuetype/{issueTypeId}/properties/{propertyKey}

Returns the value of the property with a given key from the issue type identified by the id. The user who retrieves the property is required to have permissions to view the issue type.

Responses api/2/issuetypescheme

Resource for managing issue type schemes and their project associations.

An issue type scheme is a named, ordered collection of issue types that is associated with 0..n projects. The contents of the associated issue type scheme determine which issue types are available to a project.

As is the case with {@link IssueTypeResource#deleteIssueType(String, String) issue type deletion}, certain changes to an issue type scheme require issue migrations on the part of affected projects. This resource does not support such migrations, and users are encouraged to use the GUI to perform them when necessary.

Show more Create issue type schemePOST /rest/api/2/issuetypescheme

Creates an issue type scheme from a JSON representation. (Admin required)

Request Example
{"name":"new name","description":"some new description of the scheme","defaultIssueTypeId":"3","issueTypeIds":["1","4","3"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-scheme-create-update#","title":"Issue Type Scheme Create Update","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"defaultIssueTypeId":{"type":"string"},"issueTypeIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Get all issue type schemesGET /rest/api/2/issuetypescheme

Returns a list of all issue type schemes visible to the user (must be admin).

All issue types associated with the scheme will only be returned if an additional query parameter is provided: expand=schemes.issueTypes.

Similarly, the default issue type associated with the scheme (if one exists) will only be returned if additional an query parameter is provided: expand=schemes.defaultIssueType.

Note that both query parameters can be used together: expand=schemes.issueTypes,schemes.defaultIssueType.

Responses Get issue type schemeGET /rest/api/2/issuetypescheme/{schemeId}

Returns a full representation of the issue type scheme that has the given id (must be admin).

Responses Update issue type schemePUT /rest/api/2/issuetypescheme/{schemeId}

Updates the specified issue type scheme from a JSON representation. (Admin required)

Request Example
{"name":"new name","description":"some new description of the scheme","defaultIssueTypeId":"3","issueTypeIds":["1","4","3"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-scheme-create-update#","title":"Issue Type Scheme Create Update","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"defaultIssueTypeId":{"type":"string"},"issueTypeIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Delete issue type schemeDELETE /rest/api/2/issuetypescheme/{schemeId}

Deletes the specified issue type scheme. Any projects associated with this IssueTypeScheme will be automatically associated with the global default IssueTypeScheme. (Admin required)

Responses Add project associations to schemePOST /rest/api/2/issuetypescheme/{schemeId}/associations

Adds additional projects to those already associated with the specified issue type scheme. (Admin required)

Request Example
{"idsOrKeys":["100034","13543","FOOPROJ","BAZZPROJ"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/associate-projects#","title":"Associate Projects","type":"object","properties":{"idsOrKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Get associated projectsGET /rest/api/2/issuetypescheme/{schemeId}/associations

For the specified issue type scheme, returns all of the associated projects. (Admin required)

Request query parameters parameter type description expand string

the parameters to expand on the returned projects; defaults to none.

Responses Set project associations for schemePUT /rest/api/2/issuetypescheme/{schemeId}/associations

Associates the given projects with the specified issue type scheme. Any existing project-associations the issue type scheme has will be overwritten. (Admin required)

Request Example
{"idsOrKeys":["100034","13543","FOOPROJ","BAZZPROJ"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/associate-projects#","title":"Associate Projects","type":"object","properties":{"idsOrKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Remove all project associationsDELETE /rest/api/2/issuetypescheme/{schemeId}/associations

Removes all project associations for the specified issue type scheme. These projects revert to an association with the default/global issue type scheme.(Admin required)

Responses Remove project associationDELETE /rest/api/2/issuetypescheme/{schemeId}/associations/{projIdOrKey}

For the specified issue type scheme, removes the given project association . This project reverts to an association with the default/global issue type scheme.(Admin required)

Responses api/2/jql/autocompletedata

Resource for auto complete data for searches.

Get auto completeGET /rest/api/2/jql/autocompletedata

Returns the auto complete data required for JQL searches.

Responses Get field auto complete for query stringGET /rest/api/2/jql/autocompletedata/suggestions

Returns auto complete suggestions for JQL search.

Request query parameters parameter type description fieldName string

the field name for which the suggestions are generated.

fieldValue string

the portion of the field value that has already been provided by the user.

predicateName string

the predicate for which the suggestions are generated. Suggestions are generated only for: "by", "from" and "to".

predicateValue string

the portion of the predicate value that has already been provided by the user.

Responses api/2/licenseValidator

A REST endpoint to provide simple validation services for a Jira license. Typically used by the setup phase of the Jira application. This will return an object with a list of errors as key, value pairs.

Show more ValidatePOST /rest/api/2/licenseValidator Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Responses api/2/monitoring/app

Describes endpoint for controlling the App Monitoring feature

Set app monitoring enabledPOST /rest/api/2/monitoring/app Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/app-monitoring-rest-entity#","title":"App Monitoring Rest Entity","type":"object"}
Responses api/2/monitoring/ipd

Describes endpoint for controlling the IPD Monitoring feature

Set app monitoring enabledPOST /rest/api/2/monitoring/ipd Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/ipd-monitoring-rest-entity#","title":"Ipd Monitoring Rest Entity","type":"object"}
Responses api/2/monitoring/jmx Are metrics exposedGET /rest/api/2/monitoring/jmx/areMetricsExposed Responses Get available metricsGET /rest/api/2/monitoring/jmx/getAvailableMetrics Responses StartPOST /rest/api/2/monitoring/jmx/startExposing Responses StopPOST /rest/api/2/monitoring/jmx/stopExposing Responses api/2/mypreferences

Provide preferences of the currently logged in user.

Set preferencePUT /rest/api/2/mypreferences

Sets preference of the currently logged in user. Preference key must be provided as input parameters (key). Value must be provided as post body. If key or value parameter is not provided - status code 404. If preference is set - status code 204.

Request query parameters parameter type description key string

- key of the preference to be set.

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Responses Remove preferenceDELETE /rest/api/2/mypreferences

Removes preference of the currently logged in user. Preference key must be provided as input parameters (key). If key parameter is not provided or wrong - status code 404. If preference is unset - status code 204.

Request query parameters parameter type description key string

- key of the preference to be removed.

Responses Get preferenceGET /rest/api/2/mypreferences

Returns preference of the currently logged in user. Preference key must be provided as input parameter (key). The value is returned exactly as it is. If key parameter is not provided or wrong - status code 404. If value is found - status code 200.

Request query parameters parameter type description key string

- key of the preference to be returned.

Responses api/2/myself

Currently logged user resource

Update userPUT /rest/api/2/myself

Modify currently logged user. The "value" fields present will override the existing value. Fields skipped in request will not be changed. Only email and display name can be change that way. Requires user password.

Request Example
{"password":"abracadabra","emailAddress":"eddie@atlassian.com","displayName":"Eddie of Atlassian"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-write#","title":"User Write","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"},"emailAddress":{"type":"string"},"displayName":{"type":"string"},"notification":{"type":"string"},"active":{"type":"boolean"},"applicationKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Get userGET /rest/api/2/myself

Returns currently logged user. This resource cannot be accessed anonymously.

Responses Change my passwordPUT /rest/api/2/myself/password

Modify caller password.

Request Example
{"password":"new password","currentPassword":"current password"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/password#","title":"Password","type":"object","properties":{"password":{"type":"string"},"currentPassword":{"type":"string"}},"additionalProperties":false}
Responses api/2/notificationscheme Get notification schemesGET /rest/api/2/notificationscheme

Returns a paginated list of notification schemes. In order to access notification scheme, the calling user is required to have permissions to administer at least one project associated with the requested notification scheme. Each scheme contains a list of events and recipient configured to receive notifications for these events. Consumer should allow events without recipients to appear in response. The list is ordered by the scheme's name. Follow the documentation of /notificationscheme/{id} resource for all details about returned value.

Request query parameters parameter type description startAt long

the index of the first notification scheme to return (0 based).

maxResults int

the maximum number of notification schemes to return (max 50).

expand string Responses Get notification schemeGET /rest/api/2/notificationscheme/{id}

Returns a full representation of the notification scheme for the given id. This resource will return a notification scheme containing a list of events and recipient configured to receive notifications for these events. Consumer should allow events without recipients to appear in response. User accessing the data is required to have permissions to administer at least one project associated with the requested notification scheme.

Notification recipients can be:

Please see the example for reference.

The events can be Jira system events or events configured by administrator. In case of the system events, data about theirs ids, names and descriptions is provided. In case of custom events, the template event is included as well.

Request query parameters parameter type description expand string Responses api/2/password

REST resource for operations related to passwords and the password policy.

Get password policyGET /rest/api/2/password/policy

Returns the list of requirements for the current password policy. For example, "The password must have at least 10 characters.", "The password must not be similar to the user's name or email address.", etc.

Request query parameters parameter type description hasOldPassword boolean

Default: false

whether or not the user will be required to enter their current password. Use {@code false} (the default) if this is a new user or if an administrator is forcibly changing another user's password.

Responses Policy check create userPOST /rest/api/2/password/policy/createUser

Returns a list of statements explaining why the password policy would disallow a proposed password for a new user.

You can use this method to test the password policy validation. This could be done prior to an action where a new user and related password are created, using methods like the ones in UserService. For example, you could use this to validate a password in a create user form in the user interface, as the user enters it.
The username and new password must be not empty to perform the validation.
Note, this method will help you validate against the policy only. It won't check any other validations that might be performed when creating a new user, e.g. checking whether a user with the same name already exists.

Request Example
{"username":"fred","displayName":"Fred Normal","emailAddress":"fred@example.com","password":"secret"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/password-policy-create-user#","title":"Password Policy Create User","type":"object","properties":{"username":{"type":"string"},"displayName":{"type":"string"},"emailAddress":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false}
Responses Policy check update userPOST /rest/api/2/password/policy/updateUser

Returns a list of statements explaining why the password policy would disallow a proposed new password for a user with an existing password.

You can use this method to test the password policy validation. This could be done prior to an action where the password is actually updated, using methods like ChangePassword or ResetPassword. For example, you could use this to validate a password in a change password form in the user interface, as the user enters it.
The user must exist and the username and new password must be not empty, to perform the validation.
Note, this method will help you validate against the policy only. It won't check any other validations that might be performed when submitting a password change/reset request, e.g. verifying whether the old password is valid.

Request Example
{"username":"fred","oldPassword":"secret","newPassword":"correcthorsebatterystaple"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/password-policy-update-user#","title":"Password Policy Update User","type":"object","properties":{"username":{"type":"string"},"oldPassword":{"type":"string"},"newPassword":{"type":"string"}},"additionalProperties":false}
Responses api/2/permissionscheme

Resource for managing permission schemes and their attributes.

Permission scheme is a collection of permission grants. Each grant holds information about a permission granted to a group of users. These groups of users are called holders and are defined by two values: type and parameter. Type can be for example "group", or "user" and parameter is an additional specification. In case of groups the parameter will hold the group name, and in case of users: user id.

Types can be extended by plugins, but here is a list of all built-in types (expected parameter contents are given in parenthesis):

anyone
Grant for anonymous users.
group (group name)
Grant for the specified group
user (user id)
Grant for the specified user
projectRole (project role id)
Grant for the specified project role
reporter
Grant for an issue reported
projectLead
Grant for a project lead
assignee
Grant for a user assigned to an issue
userCustomField (custom field id)
Grant for a user selected in the specified custom field
groupCustomField (custom field id)
Grant for a user selected in the specified custom field

There are also two "hidden" holder types, which are not available in on-demand but can be used in enterprise instances:

reporterWithCreatePermission
This type can be used only with BROWSE_PROJECTS permission to show only projects where the user has create permission and issues within that where they are the reporter.
assigneeWithAssignablePermission
This type can be used only with BROWSE_PROJECTS permission to show only projects where the user has the assignable permission and issues within that where they are the assignee.

In addition to specifying the permission holder, a permission must be selected. That way a pair of (holder, permission) is created and it represents a single permission grant.

Custom permissions can be added by plugins, but below we present a set of built-in Jira permissions.

Show more Get permission schemesGET /rest/api/2/permissionscheme

Returns a list of all permission schemes.

By default only shortened beans are returned. If you want to include permissions of all the schemes, then specify the permissions expand parameter. Permissions will be included also if you specify any other expand parameter.

Request query parameters parameter type description expand string Responses Create permission schemePOST /rest/api/2/permissionscheme

Create a new permission scheme. This method can create schemes with a defined permission set, or without.

Request query parameters parameter type description expand string Example
{"name":"Example permission scheme","description":"description","permissions":[{"holder":{"type":"group","parameter":"jira-developers"},"permission":"ADMINISTER_PROJECTS"}]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
Responses Get scheme attribute  experimentalGET /rest/api/2/permissionscheme/{permissionSchemeId}/attribute/{attributeKey} Responses Set scheme attribute  experimentalPUT /rest/api/2/permissionscheme/{permissionSchemeId}/attribute/{key}

Updates or inserts the attribute for a permission scheme specified by permission scheme id. The attribute consists of the key and the value. The value will be converted to Boolean using Boolean#valueOf.

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Responses Delete permission schemeDELETE /rest/api/2/permissionscheme/{schemeId}

Deletes a permission scheme identified by the given id.

Responses Update permission schemePUT /rest/api/2/permissionscheme/{schemeId}

Updates a permission scheme.

If the permissions list is present then it will be set in the permission scheme, which basically means it will overwrite any permission grants that existed in the permission scheme. Sending an empty list will remove all permission grants from the permission scheme.

To update just the name and description, do not send permissions list at all.

To add or remove a single permission grant instead of updating the whole list at once use the {schemeId}/permission/ resource.

Request query parameters parameter type description expand string Example
{"name":"Example permission scheme","description":"description","permissions":[{"holder":{"type":"group","parameter":"jira-developers"},"permission":"ADMINISTER_PROJECTS"}]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
Responses Get permission schemeGET /rest/api/2/permissionscheme/{schemeId}

Returns a permission scheme identified by the given id.

Request query parameters parameter type description expand string Responses Get permission scheme grantsGET /rest/api/2/permissionscheme/{schemeId}/permission

Returns all permission grants of the given permission scheme.

Request query parameters parameter type description expand string Responses Create permission grantPOST /rest/api/2/permissionscheme/{schemeId}/permission

Creates a permission grant in a permission scheme.

Request query parameters parameter type description expand string Example
{"holder":{"type":"group","parameter":"jira-developers"},"permission":"ADMINISTER_PROJECTS"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/permission-grant#","title":"Permission Grant","type":"object","properties":{"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}
Responses Delete permission scheme entityDELETE /rest/api/2/permissionscheme/{schemeId}/permission/{permissionId}

Deletes a permission grant from a permission scheme.

Responses Get permission scheme grantGET /rest/api/2/permissionscheme/{schemeId}/permission/{permissionId}

Returns a permission grant identified by the given id.

Request query parameters parameter type description expand string Responses api/2/priority Get prioritiesGET /rest/api/2/priority

Returns a list of all issue priorities.

Responses Get priorityGET /rest/api/2/priority/{id}

Returns an issue priority.

Responses Get prioritiesGET /rest/api/2/priority/page

Returns a list of all issue priorities.

Request query parameters parameter type description startAt long

Default: 0

maxResults int

Default: 100

query string

Default:

projectIds string Responses api/2/priorityschemes

Resource for managing priority schemes.

Create priority scheme  experimentalPOST /rest/api/2/priorityschemes

Creates new priority scheme.

Request Example
{"name":"New priority scheme","description":"Priority scheme for very important projects","defaultOptionId":"3","optionIds":["1","2","3","4","5"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/priority-scheme#","title":"Priority Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultOptionId":{"type":"string"},"optionIds":{"type":"array","items":{"type":"string"}},"defaultScheme":{"type":"boolean"},"projectKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["defaultScheme"]}
Responses Get priority schemes  experimentalGET /rest/api/2/priorityschemes

Returns all priority schemes. All project keys associated with the priority scheme will only be returned if additional query parameter is provided expand=schemes.projectKeys.

Request query parameters parameter type description startAt long

the page offset, if not specified then defaults to 0

maxResults int

how many results on the page should be included. Defaults to 100, maximum is 1000.

Responses Delete priority scheme  experimentalDELETE /rest/api/2/priorityschemes/{schemeId}

Deletes a priority scheme. All projects using deleted scheme will use default priority scheme afterwards. Default priority scheme can't be deleted.

Responses Update priority scheme  experimentalPUT /rest/api/2/priorityschemes/{schemeId}

Updates a priority scheme. Update will be rejected if issue migration would be needed as a result of scheme update. Priority scheme update with migration is possible from the UI. All project keys associated with the priority scheme will only be returned if additional query parameter is provided expand=projectKeys.

Request Example
{"name":"Updated priority scheme","description":"Updated description","defaultOptionId":"8","optionIds":["5","6","7","8","9"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/priority-scheme-update#","title":"Priority Scheme Update","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultOptionId":{"type":"string"},"optionIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Get priority scheme  experimentalGET /rest/api/2/priorityschemes/{schemeId}

Gets a full representation of a priority scheme in JSON format. All project keys associated with the priority scheme will only be returned if additional query parameter is provided expand=projectKeys.

Responses api/2/project Get all projectsGET /rest/api/2/project

Returns all projects which are visible for the currently logged in user. If no user is logged in, it returns the list of projects that are visible when using anonymous access.

Request query parameters parameter type description expand string

the parameters to expand

recent int

if this parameter is set then only projects recently accessed by the current user (if not logged in then based on HTTP session) will be returned (maximum count limited to the specified number but no more than 20).

includeArchived boolean

whether to include archived projects in response, default: false

browseArchive boolean

whether to include only projects where current user can browse archive

Responses Create projectPOST /rest/api/2/project

Creates a new project.

Request Example
{"key":"EX","name":"Example","projectTypeKey":"business","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-project-management","description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","assigneeType":"PROJECT_LEAD","avatarId":10200,"issueSecurityScheme":10001,"permissionScheme":10011,"notificationScheme":10021,"workflowSchemeId":10031,"categoryId":10120}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/project-input#","title":"Project Input","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"projectTypeKey":{"type":"string"},"projectTemplateKey":{"type":"string"},"description":{"type":"string"},"lead":{"type":"string"},"url":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer"},"issueSecurityScheme":{"type":"integer"},"permissionScheme":{"type":"integer"},"notificationScheme":{"type":"integer"},"workflowSchemeId":{"type":"integer"},"categoryId":{"type":"integer"}},"additionalProperties":false}
Responses Update projectPUT /rest/api/2/project/{projectIdOrKey}

Updates a project.

Only non null values sent in JSON will be updated in the project.

Values available for the assigneeType field are: "PROJECT_LEAD" and "UNASSIGNED".

Request query parameters parameter type description expand string

the parameters to expand in returned project

Example
{"key":"EX","name":"Example","projectTypeKey":"business","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-project-management","description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","assigneeType":"PROJECT_LEAD","avatarId":10200,"issueSecurityScheme":10001,"permissionScheme":10011,"notificationScheme":10021,"categoryId":10120}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/project-update#","title":"Project Update","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"projectTypeKey":{"type":"string"},"projectTemplateKey":{"type":"string"},"description":{"type":"string"},"lead":{"type":"string"},"url":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer"},"issueSecurityScheme":{"type":"integer"},"permissionScheme":{"type":"integer"},"notificationScheme":{"type":"integer"},"categoryId":{"type":"integer"}},"additionalProperties":false}
Responses Delete projectDELETE /rest/api/2/project/{projectIdOrKey}

Deletes a project.

Responses Get projectGET /rest/api/2/project/{projectIdOrKey}

Contains a full representation of a project in JSON format.

All project keys associated with the project will only be returned if expand=projectKeys.

Request query parameters parameter type description expand string

the parameters to expand

Responses Archive projectPUT /rest/api/2/project/{projectIdOrKey}/archive

Archives a project.

Responses Create avatar from temporaryPOST /rest/api/2/project/{projectIdOrKey}/avatar

Converts the temporary avatar into the final one. This is step 2/3 of changing an avatar for a project:

Request Example
{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}
Responses Update project avatarPUT /rest/api/2/project/{projectIdOrKey}/avatar

Updates an avatar for a project. This is step 3/3 of changing an avatar for a project:

Request Example
{"id":"1000","isSystemAvatar":false,"isSelected":false,"isDeletable":true,"selected":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/avatar#","title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}
Responses Delete avatarDELETE /rest/api/2/project/{projectIdOrKey}/avatar/{id}

Deletes avatar

Responses Store temporary avatarPOST /rest/api/2/project/{projectIdOrKey}/avatar/temporary

Uploads an image and creates a temporary avatar. This is step 1/3 of changing an avatar for a project:

Supported image formats:

 curl \
   -X POST \
   -u admin:admin \
   -H "X-Atlassian-Token: no-check" \
   -H "Content-Type: image/png" \
   --data-binary @mynewavatar.png \
   'http://localhost:8090/jira/rest/api/2/user/avatar/temporary?username=admin&filename=mynewavatar.png'
 
Request query parameters parameter type description filename string

name of file being uploaded

size long

size of the image file

Responses Store temporary avatar using multi partPOST /rest/api/2/project/{projectIdOrKey}/avatar/temporary

Creates temporary avatar using multipart. The response is sent back as JSON stored in a textarea. This is because the client uses remote iframing to submit avatars using multipart. So we must send them a valid HTML page back from which the client parses the JSON.

Responses Get all avatarsGET /rest/api/2/project/{projectIdOrKey}/avatars

Returns all avatars which are visible for the currently logged in user. The avatars are grouped into system and custom.

Responses Get project componentsGET /rest/api/2/project/{projectIdOrKey}/components

Contains a full representation of a the specified project's components.

Responses Restore projectPUT /rest/api/2/project/{projectIdOrKey}/restore

Restore an archived project. In case of success restored project should be re-indexed.

Responses Get all statusesGET /rest/api/2/project/{projectIdOrKey}/statuses

Get all issue types with valid status values for a project

Responses Update project typePUT /rest/api/2/project/{projectIdOrKey}/type/{newProjectTypeKey}

Updates the type of a project.

Responses Get project versions paginatedGET /rest/api/2/project/{projectIdOrKey}/version

Returns all versions for the specified project. Results are paginated.

Results can be ordered by the following fields:

Request query parameters parameter type description startAt long

the page offset, if not specified then defaults to 0

maxResults int

how many results on the page should be included. Defaults to 50.

orderBy string

ordering of the results.

expand string

the parameters to expand

Responses Get project versionsGET /rest/api/2/project/{projectIdOrKey}/versions

Contains a full representation of a the specified project's versions.

Request query parameters parameter type description expand string

the parameters to expand

Responses api/2/project/{projectIdOrKey}/properties Get properties keys  experimentalGET /rest/api/2/project/{projectIdOrKey}/properties

Returns the keys of all properties for the project identified by the key or by the id.

Responses Delete property  experimentalDELETE /rest/api/2/project/{projectIdOrKey}/properties/{propertyKey}

Removes the property from the project identified by the key or by the id. Ths user removing the property is required to have permissions to administer the project.

Responses Set property  experimentalPUT /rest/api/2/project/{projectIdOrKey}/properties/{propertyKey}

Sets the value of the specified project's property.

You can use this resource to store a custom data against the project identified by the key or by the id. The user who stores the data is required to have permissions to administer the project.

Responses Get property  experimentalGET /rest/api/2/project/{projectIdOrKey}/properties/{propertyKey}

Returns the value of the property with a given key from the project identified by the key or by the id. The user who retrieves the property is required to have permissions to read the project.

Responses api/2/project/{projectIdOrKey}/role Get project rolesGET /rest/api/2/project/{projectIdOrKey}/role

Returns all roles in the given project Id or key, with links to full details on each role.

Responses Get project roleGET /rest/api/2/project/{projectIdOrKey}/role/{id}

Returns the details for a given project role in a project.

Responses Add actor usersPOST /rest/api/2/project/{projectIdOrKey}/role/{id}

Adds an actor (user or group) to a project role.

For user actors, their usernames should be used.

Request Example
{ "user" : ["admin"] }  or
 { "group" : ["jira-developers"] }
Schema
{"type":"object","patternProperties":{".+":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Delete actorDELETE /rest/api/2/project/{projectIdOrKey}/role/{id}

Deletes actors (users or groups) from a project role.

Request query parameters parameter type description user string

the username of the user to remove from the project role

group string

the groupname to remove from the project role

Responses Set actorsPUT /rest/api/2/project/{projectIdOrKey}/role/{id}

Updates a project role to include the specified actors (users or groups). Can be also used to clear roles to not include any users or groups.

For user actors, their usernames should be used.

Request Example
{"id":10360,"categorisedActors":{"atlassian-user-role-actor":["admin"],"atlassian-group-role-actor":["jira-developers"]}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/project-role-actors-update#","title":"Project Role Actors Update","type":"object","properties":{"id":{"type":"integer"},"categorisedActors":{"type":"object","patternProperties":{".+":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"additionalProperties":false}
Responses api/2/project/{projectKeyOrId}/issuesecuritylevelscheme

Resource for associating permission schemes and projects.

Get issue security schemeGET /rest/api/2/project/{projectKeyOrId}/issuesecuritylevelscheme

Returns the issue security scheme for project.

Responses api/2/project/{projectKeyOrId}/notificationscheme

Resource for associating notification schemes and projects.

Get notification schemeGET /rest/api/2/project/{projectKeyOrId}/notificationscheme

Gets a notification scheme associated with the project. Follow the documentation of /notificationscheme/{id} resource for all details about returned value.

Request query parameters parameter type description expand string Responses api/2/project/{projectKeyOrId}/permissionscheme

Resource for associating permission schemes and projects.

Assign permission schemePUT /rest/api/2/project/{projectKeyOrId}/permissionscheme

Assigns a permission scheme with a project.

Request query parameters parameter type description expand string Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/id#","title":"Id","type":"object","properties":{"id":{"type":"integer"}},"additionalProperties":false}
Responses Get assigned permission schemeGET /rest/api/2/project/{projectKeyOrId}/permissionscheme

Gets a permission scheme assigned with a project.

Request query parameters parameter type description expand string Responses api/2/project/{projectKeyOrId}/priorityscheme

Resource for associating priority schemes and projects.

Assign priority scheme  experimentalPUT /rest/api/2/project/{projectKeyOrId}/priorityscheme

Assigns project with priority scheme. Priority scheme assign with migration is possible from the UI. Operation will fail if migration is needed as a result of operation eg. there are issues with priorities invalid in the destination scheme. All project keys associated with the priority scheme will only be returned if additional query parameter is provided expand=projectKeys.

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/id#","title":"Id","type":"object","properties":{"id":{"type":"integer"}},"additionalProperties":false}
Responses Get assigned priority scheme  experimentalGET /rest/api/2/project/{projectKeyOrId}/priorityscheme

Gets a full representation of a priority scheme in JSON format used by specified project. User must be global administrator or project administrator. All project keys associated with the priority scheme will only be returned if additional query parameter is provided expand=projectKeys.

Responses Unassign priority scheme  experimentalDELETE /rest/api/2/project/{projectKeyOrId}/priorityscheme/{schemeId}

Unassigns project from priority scheme. Operation will fail for defualt priority scheme, project is not found or project is not associated with provided priority scheme. All project keys associated with the priority scheme will only be returned if additional query parameter is provided expand=projectKeys.

Responses api/2/project/{projectKeyOrId}/securitylevel

Provide security level information of the given project for the current user.

Get security levels for projectGET /rest/api/2/project/{projectKeyOrId}/securitylevel

Returns all security levels for the project that the current logged in user has access to. If the user does not have the Set Issue Security permission, the list will be empty.

Responses api/2/project/{projectKeyOrId}/workflowscheme Get workflow scheme for projectGET /rest/api/2/project/{projectKeyOrId}/workflowscheme

Returns the workflow scheme that is associated with requested project.

Responses api/2/project/type Get all project typesGET /rest/api/2/project/type

Returns all the project types defined on the Jira instance, not taking into account whether the license to use those project types is valid or not. In case of anonymous checks if they can access at least one project.

Responses Get project type by keyGET /rest/api/2/project/type/{projectTypeKey}

Returns the project type with the given key. In case of anonymous checks if they can access at least one project.

Responses Get accessible project type by keyGET /rest/api/2/project/type/{projectTypeKey}/accessible

Returns the project type with the given key, if it is accessible to the logged in user. This takes into account whether the user is licensed on the Application that defines the project type.

Responses api/2/projectCategory Get all project categoriesGET /rest/api/2/projectCategory

Returns all project categories

Responses Create project categoryPOST /rest/api/2/projectCategory

Create a project category via POST.

Request Example
{"name":"CREATED","description":"Created Project Category"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}
Responses Get project category by idGET /rest/api/2/projectCategory/{id}

Contains a representation of a project category in JSON format.

Responses Remove project categoryDELETE /rest/api/2/projectCategory/{id}

Delete a project category.

Responses Update project categoryPUT /rest/api/2/projectCategory/{id}

Modify a project category via PUT. Any fields present in the PUT will override existing values. As a convenience, if a field is not present, it is silently ignored.

Request Example
{"name":"UPDATED","description":"Updated Project Category"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}
Responses api/2/projects/picker Search for projectsGET /rest/api/2/projects/picker

Returns a list of projects visible to the user where project name and/or key is matching the given query.

Passing an empty (or whitespace only) query will match no projects. The project matches will contain a field with the query highlighted.

The number of projects returned can be controlled by passing a value for "maxResults", but a hard limit of no more than 100 projects is enforced. The projects are wrapped in a single response object that contains a header for use in the picker, specifically Showing X of Y matching projects and the total number of matches for the query.

Request query parameters parameter type description query string

Default:

a sequence of characters expected to be found in the word-prefix of project name and/or key.

maxResults int

Default: 0

maximum number of matches to return. Zero means a default limit of 100 and negative numbers return no results.

allowEmptyQuery boolean

Default: false

if true, and the query is empty, the method will return first results limited to the value of "maxResults" or default limit of 100.

Responses api/2/projectvalidate Get projectGET /rest/api/2/projectvalidate/key

Validates a project key.

Request query parameters parameter type description key string

the project key

Responses api/2/reindex

REST resource for starting/stopping/querying indexing.

ReindexPOST /rest/api/2/reindex

Kicks off a reindex. Need Admin permissions to perform this reindex.

Request query parameters parameter type description type string

Case insensitive String indicating type of reindex. If omitted, then defaults to BACKGROUND_PREFERRED.

indexComments boolean

Default: false

Indicates that comments should also be reindexed. Not relevant for foreground reindex, where comments are always reindexed.

indexChangeHistory boolean

Default: false

Indicates that changeHistory should also be reindexed. Not relevant for foreground reindex, where changeHistory is always reindexed.

indexWorklogs boolean

Default: false

Indicates that worklogs should also be reindexed. Not relevant for foreground reindex, where worklogs are always reindexed.

Responses Get reindex infoGET /rest/api/2/reindex

Returns information on the system reindexes. If a reindex is currently taking place then information about this reindex is returned. If there is no active index task, then returns information about the latest reindex task run, otherwise returns a 404 indicating that no reindex has taken place.

Request query parameters parameter type description taskId long

the id of an indexing task you wish to obtain details on. If omitted, then defaults to the standard behaviour and returns information on the active reindex task, or the last task to run if no reindex is taking place. . If there is no reindexing task with that id then a 404 is returned.

Responses Reindex issuesPOST /rest/api/2/reindex/issue

Reindexes one or more individual issues. Indexing is performed synchronously - the call returns when indexing of the issues has completed or a failure occurs.

Use either explicitly specified issue IDs or a JQL query to select issues to reindex.

Request query parameters parameter type description issueId string

the IDs or keys of one or more issues to reindex.

indexComments boolean

Default: false

Indicates that comments should also be reindexed.

indexChangeHistory boolean

Default: false

Indicates that changeHistory should also be reindexed.

indexWorklogs boolean

Default: false

Indicates that worklogs should also be reindexed.

Responses Get reindex progressGET /rest/api/2/reindex/progress

Returns information on the system reindexes. If a reindex is currently taking place then information about this reindex is returned. If there is no active index task, then returns information about the latest reindex task run, otherwise returns a 404 indicating that no reindex has taken place.

Request query parameters parameter type description taskId long

the id of an indexing task you wish to obtain details on. If omitted, then defaults to the standard behaviour and returns information on the active reindex task, or the last task to run if no reindex is taking place. . If there is no reindexing task with that id then a 404 is returned.

Responses api/2/reindex/request

REST resource for querying and executing reindex requests.

Process requestsPOST /rest/api/2/reindex/request

Executes any pending reindex requests. Returns a JSON array containing the IDs of the reindex requests that are being processed. Execution is asynchronous - progress of the returned tasks can be monitored through other REST calls.

Responses Get progressGET /rest/api/2/reindex/request/{requestId}

Retrieves the progress of a single reindex request.

Responses Get progress bulkGET /rest/api/2/reindex/request/bulk

Retrieves the progress of a multiple reindex requests. Only reindex requests that actually exist will be returned in the results.

Request query parameters parameter type description requestId string

the reindex request IDs.

Responses api/2/resolution Get resolutionsGET /rest/api/2/resolution

Returns a list of all resolutions.

Responses Get resolutionGET /rest/api/2/resolution/{id}

Returns a resolution.

Responses Get paginated resolutions  experimentalGET /rest/api/2/resolution/page

Returns paginated list of filtered resolutions

Request query parameters parameter type description startAt long

Default: 0

the index of the first status to return

maxResults int

Default: 100

the maximum number of statuses to return

query string

Default:

the string that status names will be matched with

Responses api/2/role Get project rolesGET /rest/api/2/role

Get all the ProjectRoles available in Jira. Currently this list is global.

Responses Create project rolePOST /rest/api/2/role

Creates a new ProjectRole to be available in Jira. The created role does not have any default actors assigned.

Request Example
{"name":"MyRole","description":"role description"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/create-update-role-request#","title":"Create Update Role Request","type":"object","properties":{"description":{"type":"string"}},"additionalProperties":false}
Responses Get project roles by idGET /rest/api/2/role/{id}

Get a specific ProjectRole available in Jira.

Responses Partial update project rolePOST /rest/api/2/role/{id}

Partially updates a roles name or description.

Request Example
{"name":"MyRole","description":"role description"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/create-update-role-request#","title":"Create Update Role Request","type":"object","properties":{"description":{"type":"string"}},"additionalProperties":false}
Responses Fully update project rolePUT /rest/api/2/role/{id}

Fully updates a roles. Both name and description must be given.

Request Example
{"name":"MyRole","description":"role description"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/create-update-role-request#","title":"Create Update Role Request","type":"object","properties":{"description":{"type":"string"}},"additionalProperties":false}
Responses Delete project roleDELETE /rest/api/2/role/{id}

Deletes a role. May return 403 in the future

Request query parameters parameter type description swap long

if given, removes a role even if it is used in scheme by replacing the role with the given one

Responses Get project role actors for roleGET /rest/api/2/role/{id}/actors

Gets default actors for the given role.

Responses Add project role actors to rolePOST /rest/api/2/role/{id}/actors

Adds default actors to the given role. The request data should contain a list of usernames or a list of groups to add.

Request Example
{"user":["admin"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/actor-input#","title":"Actor Input","type":"object","properties":{"user":{"type":"array","items":{"type":"string"}},"group":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Delete project role actors from roleDELETE /rest/api/2/role/{id}/actors

Removes default actor from the given role.

Request query parameters parameter type description user string

if given, removes an actor from given role

group string

if given, removes an actor from given role

Responses api/2/screens Get all screensGET /rest/api/2/screens

Gets available field screens

Request query parameters parameter type description startAt string

offset from which the response starts

maxResults string

amount of field screens to return

expand string search string Responses Get fields to addGET /rest/api/2/screens/{screenId}/availableFields

Gets available fields for screen. i.e ones that haven't already been added.

Responses Get all tabsGET /rest/api/2/screens/{screenId}/tabs

Returns a list of all tabs for the given screen

Request query parameters parameter type description projectKey string

the key of the project; this parameter is optional

Responses Add tabPOST /rest/api/2/screens/{screenId}/tabs

Creates tab for given screen

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/screenable-tab#","title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}
Responses Rename tabPUT /rest/api/2/screens/{screenId}/tabs/{tabId}

Renames tab on given screen

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/screenable-tab#","title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}
Responses Delete tabDELETE /rest/api/2/screens/{screenId}/tabs/{tabId}

Deletes tab to give screen

Responses Add fieldPOST /rest/api/2/screens/{screenId}/tabs/{tabId}/fields

Adds field to the given tab.

Request Example
{"fieldId":"summary"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/add-field#","title":"Add Field","type":"object","properties":{"fieldId":{"type":"string"}},"additionalProperties":false}
Responses Get all fieldsGET /rest/api/2/screens/{screenId}/tabs/{tabId}/fields

Gets all fields for a given tab

Request query parameters parameter type description projectKey string

the key of the project; this parameter is optional

Responses Remove fieldDELETE /rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}

Removes field from given tab

Responses Move fieldPOST /rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}/move

Moves field on the given tab

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/move-field#","title":"Move Field","type":"object","properties":{"after":{"type":"string","format":"uri"},"position":{"type":"string","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false}
Responses Update show when empty indicatorPUT /rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}/updateShowWhenEmptyIndicator/{newValue}

Update 'showWhenEmptyIndicator' for given field on screen

Responses Move tabPOST /rest/api/2/screens/{screenId}/tabs/{tabId}/move/{pos}

Moves tab position

Responses Add field to default screenPOST /rest/api/2/screens/addToDefault/{fieldId}

Adds field or custom field to the default tab

Responses api/2/search

Resource for searches.

Search using search requestPOST /rest/api/2/search

Performs a search using JQL.

Request Example
{"jql":"project = HSP","startAt":0,"maxResults":15,"fields":["summary","status","assignee"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/search-request#","title":"Search Request","type":"object","properties":{"jql":{"type":"string"},"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"fields":{"type":"array","items":{"type":"string"}},"validateQuery":{"type":"boolean"}},"additionalProperties":false}
Responses SearchGET /rest/api/2/search

Searches for issues using JQL.

Sorting the jql parameter is a full JQL expression, and includes an ORDER BY clause.

The fields param (which can be specified multiple times) gives a comma-separated list of fields to include in the response. This can be used to retrieve a subset of fields. A particular field can be excluded by prefixing it with a minus.

By default, only navigable (*navigable) fields are returned in this search resource. Note: the default is different in the get-issue resource -- the default there all fields (*all).

GET vs POST: If the JQL query is too large to be encoded as a query param you should instead POST to this resource.

Expanding Issues in the Search Result: It is possible to expand the issues returned by directly specifying the expansion on the expand parameter passed in to this resources.

For instance, to expand the "changelog" for all the issues on the search result, it is neccesary to specify "changelog" as one of the values to expand.

Request query parameters parameter type description jql string

a JQL query string

startAt int

the index of the first issue to return (0-based)

maxResults int

the maximum number of issues to return (defaults to 50). The maximum allowable value is dictated by the Jira property 'jira.search.views.default.max'. If you specify a value that is higher than this number, your search results will be truncated.

validateQuery boolean

Default: true

whether to validate the JQL query

fields string

the list of fields to return for each issue. By default, all navigable fields are returned.

expand string

A comma-separated list of the parameters to expand.

Responses api/2/securitylevel Get issuesecuritylevelGET /rest/api/2/securitylevel/{id}

Returns a full representation of the security level that has the given id.

Responses api/2/serverInfo Get server infoGET /rest/api/2/serverInfo

Returns general information about the current Jira server.

Request query parameters parameter type description doHealthCheck boolean Responses api/2/settings

REST resource for changing the Jira system settings

Set base u r lPUT /rest/api/2/settings/baseUrl

Sets the base URL that is configured for this Jira instance.

Request Example
http://jira.atlassian.com/
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Get issue navigator default columnsGET /rest/api/2/settings/columns

Returns the default system columns for issue navigator. Admin permission will be required.

Responses Set issue navigator default columnsPUT /rest/api/2/settings/columns

Sets the default system columns for issue navigator. Admin permission will be required.

Request Responses api/2/status Get statusesGET /rest/api/2/status

Returns a list of all statuses

Responses Get statusGET /rest/api/2/status/{idOrName}

Returns a full representation of the Status having the given id or name.

Responses Get paginated statuses  experimentalGET /rest/api/2/status/page

Returns paginated list of filtered statuses

Request query parameters parameter type description startAt long

Default: 0

the index of the first status to return

maxResults int

Default: 100

the maximum number of statuses to return

query string

Default:

the string that status names will be matched with

projectIds string

the list of project ids to filter statuses

issueTypeIds string

the list of issue type ids to filter statuses

Responses api/2/statuscategory Get status categoriesGET /rest/api/2/statuscategory

Returns a list of all status categories

Responses Get status categoryGET /rest/api/2/statuscategory/{idOrKey}

Returns a full representation of the StatusCategory having the given id or key

Responses api/2/terminology/entries

Enables customizing the default words "epic" and "sprint".

Get all terminology entries  experimentalGET /rest/api/2/terminology/entries

Returns the list of all defined names for the default words "epic" and "sprint".

Responses Set terminology entries  experimentalPOST /rest/api/2/terminology/entries

Change epic/sprint names from {"originalName"} to {"newName"}. The {"newName"} will be displayed in Jira instead of {"originalName"}.

{"originalName"} must be equal to "epic" or "sprint". There can be only one entry per unique {"originalName"}.

{"newName"} can only consist of alphanumeric characters and spaces e.g. {"newName": "iteration number 2"}.

{"newName"} must be between 1 to 100 characters. It can't use the already defined {"newName"} values or restricted JQL words .

To reset {"newName"} to the default value, enter the {"originalName"} value as the value for {"newName"}. For example, if you want to return to {"originalName": "sprint"}, enter {"newName": "sprint"}.

Request Example
[{"originalName":"sprint","newName":"iteration","newNamePlural":"iterations"},{"originalName":"epic","newName":"odyssey","newNamePlural":"odysseys"}]
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/collection-of-terminology-request#","title":"Collection of Terminology Request","type":"array","items":{"title":"Terminology Request","type":"object","properties":{"originalName":{"type":"string"},"newName":{"type":"string"},"newNamePlural":{"type":"string"}},"additionalProperties":false}}
Responses Get terminology entry  experimentalGET /rest/api/2/terminology/entries/{originalName}

Returns epic or sprint name as specified in the {originalName} path param.

Responses api/2/universal_avatar Get avatarsGET /rest/api/2/universal_avatar/type/{type}/owner/{owningObjectId} Responses Create avatar from temporaryPOST /rest/api/2/universal_avatar/type/{type}/owner/{owningObjectId}/avatar Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}
Responses Delete avatarDELETE /rest/api/2/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}

Deletes avatar

Responses Store temporary avatarPOST /rest/api/2/universal_avatar/type/{type}/owner/{owningObjectId}/temp

Creates temporary avatar

Request query parameters parameter type description filename string

name of file being uploaded

size long

size of file

Responses api/2/upgrade

REST resource for executing and querying delayed upgrades.

Get upgrade resultGET /rest/api/2/upgrade

Returns the result of the last upgrade task. Returns {@link javax.ws.rs.core.Response#seeOther(java.net.URI)} if still running.

Responses Run upgrades nowPOST /rest/api/2/upgrade

Runs any pending delayed upgrade tasks. Need Admin permissions to do this.

Responses api/2/user Create user  experimentalPOST /rest/api/2/user

Create user. By default created user will not be notified with email. If password field is not set then password will be randomly generated.

Request Example
{"name":"charlie","password":"abracadabra","emailAddress":"charlie@atlassian.com","displayName":"Charlie of Atlassian","applicationKeys":["jira-core"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-write#","title":"User Write","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"},"emailAddress":{"type":"string"},"displayName":{"type":"string"},"notification":{"type":"string"},"active":{"type":"boolean"},"applicationKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Update user  experimentalPUT /rest/api/2/user

Modify user. The "value" fields present will override the existing value. Fields skipped in request will not be changed.

Request query parameters parameter type description username string

the username

key string

user key

Example
{"name":"eddie","emailAddress":"eddie@atlassian.com","displayName":"Eddie of Atlassian","active":true}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-write#","title":"User Write","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"},"emailAddress":{"type":"string"},"displayName":{"type":"string"},"notification":{"type":"string"},"active":{"type":"boolean"},"applicationKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses Remove user  experimentalDELETE /rest/api/2/user

Removes user and its references (like project roles associations, watches, history).

Note: user references will not be removed if multiple User Directories are used and there is a user with the same name existing in another directory (shadowing user).

Request query parameters parameter type description username string

the username

key string

user key

Responses Get userGET /rest/api/2/user

Returns a user. This resource cannot be accessed anonymously.

Request query parameters parameter type description username string

the username

key string

user key

includeDeleted boolean

Default: false

whether deleted users should be returned (flag available to users with global ADMIN rights)

Responses Add user to application  experimentalPOST /rest/api/2/user/application

Add user to given application. Admin permission will be required to perform this operation.

Request query parameters parameter type description username string

username

applicationKey string

application key

Responses Remove user from application  experimentalDELETE /rest/api/2/user/application

Remove user from given application. Admin permission will be required to perform this operation.

Request query parameters parameter type description username string

username

applicationKey string

application key

Responses Find bulk assignable usersGET /rest/api/2/user/assignable/multiProjectSearch

Returns a list of users that match the search string and can be assigned issues for all the given projects.

Request query parameters parameter type description username string

the username

projectKeys string

the keys of the projects we are finding assignable users for, comma-separated

maxResults int

Default: 50

the maximum number of users to return (defaults to 50). The maximum allowed value is 100. If you specify a value that is higher than this number, your search results will be truncated.

Responses Find assignable usersGET /rest/api/2/user/assignable/search

Returns a list of users that match the search string. This resource cannot be accessed anonymously. Please note that this resource should be called with an issue key when a list of assignable users is retrieved for editing. For create only a project key should be supplied. The list of assignable users may be incorrect if it's called with the project key for editing.

Request query parameters parameter type description username string

the username

project string

the key of the project we are finding assignable users for

issueKey string

the issue key for the issue being edited we need to find assignable users for.

maxResults int

Default: 50

the maximum number of users to return (defaults to 50). The maximum allowed value is 100. If you specify a value that is higher than this number, your search results will be truncated.

actionDescriptorId int Responses Create avatar from temporaryPOST /rest/api/2/user/avatar

Converts temporary avatar into a real avatar

Request query parameters parameter type description username string

username

Example
{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}
Responses Update user avatarPUT /rest/api/2/user/avatar Request query parameters parameter type description username string Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/avatar#","title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}
Responses Delete avatarDELETE /rest/api/2/user/avatar/{id}

Deletes avatar

Request query parameters parameter type description username string

username

Responses Store temporary avatarPOST /rest/api/2/user/avatar/temporary

Creates temporary avatar. Creating a temporary avatar is part of a 3-step process in uploading a new avatar for a user: upload, crop, confirm.

The following examples shows these three steps using curl. The cookies (session) need to be preserved between requests, hence the use of -b and -c. The id created in step 2 needs to be passed to step 3 (you can simply pass the whole response of step 2 as the request of step 3).

 curl -c cookiejar.txt -X POST -u admin:admin -H "X-Atlassian-Token: no-check" \
   -H "Content-Type: image/png" --data-binary @mynewavatar.png \
   'http://localhost:8090/jira/rest/api/2/user/avatar/temporary?username=admin&filename=mynewavatar.png'

 curl -b cookiejar.txt -X POST -u admin:admin -H "X-Atlassian-Token: no-check" \
   -H "Content-Type: application/json" --data '{"cropperWidth": "65","cropperOffsetX": "10","cropperOffsetY": "16"}' \
   -o tmpid.json \
   http://localhost:8090/jira/rest/api/2/user/avatar?username=admin

 curl -b cookiejar.txt -X PUT -u admin:admin -H "X-Atlassian-Token: no-check" \
   -H "Content-Type: application/json" --data-binary @tmpid.json \
   http://localhost:8090/jira/rest/api/2/user/avatar?username=admin
 
Request query parameters parameter type description username string

username

filename string

name of file being uploaded

size long

size of file

Responses Store temporary avatar using multi partPOST /rest/api/2/user/avatar/temporary

Creates temporary avatar using multipart. The response is sent back as JSON stored in a textarea. This is because the client uses remote iframing to submit avatars using multipart. So we must send them a valid HTML page back from which the client parses the JSON from.

Creating a temporary avatar is part of a 3-step process in uploading a new avatar for a user: upload, crop, confirm. This endpoint allows you to use a multipart upload instead of sending the image directly as the request body.

You *must* use "avatar" as the name of the upload parameter:

 curl -c cookiejar.txt -X POST -u admin:admin -H "X-Atlassian-Token: no-check" \
   -F "avatar=@mynewavatar.png;type=image/png" \
   'http://localhost:8090/jira/rest/api/2/user/avatar/temporary?username=admin'
 
Request query parameters parameter type description username string

Username

Responses Get all avatarsGET /rest/api/2/user/avatars

Returns all avatars which are visible for the currently logged in user.

Request query parameters parameter type description username string

username

Responses Default columnsGET /rest/api/2/user/columns

Returns the default columns for the given user. Admin permission will be required to get columns for a user other than the currently logged in user.

Request query parameters parameter type description username string

username

Responses Set columnsPUT /rest/api/2/user/columns

Sets the default columns for the given user. Admin permission will be required to get columns for a user other than the currently logged in user.

Request Responses Reset columnsDELETE /rest/api/2/user/columns

Reset the default columns for the given user to the system default. Admin permission will be required to get columns for a user other than the currently logged in user.

Request query parameters parameter type description username string

username

Responses Get duplicated users count  experimentalGET /rest/api/2/user/duplicated/count

Returns the number of users whose accounts are duplicated. Duplicated means that the user has an account in more than one directory and either more than one account is active or the only active account does not belong to the directory with the highest priority. The data returned by this endpoint is cached for 10 minutes and the cache is flushed when any User Directory is added, removed, enabled, disabled, or synchronized. A System Administrator can also flush the cache manually. Related JAC ticket: https://jira.atlassian.com/browse/JRASERVER-68797

Request query parameters parameter type description flush boolean

if set to true forces cache flush, user must be sysadmin for this parameter to have an effect.

Responses Get duplicated users mapping  experimentalGET /rest/api/2/user/duplicated/list

Returns duplicated users mapped to their directories with an indication if their accounts are active or not. Duplicated means that the user has an account in more than one directory and either more than one account is active or the only active account does not belong to the directory with the highest priority. The data returned by this endpoint is cached for 10 minutes and the cache is flushed when any User Directory is added, removed, enabled, disabled, or synchronized. A System Administrator can also flush the cache manually. Related JAC ticket: https://jira.atlassian.com/browse/JRASERVER-68797

Request query parameters parameter type description flush boolean

if set to true forces cache flush, user must be sysadmin for this parameter to have an effect.

Responses Change user password  experimentalPUT /rest/api/2/user/password

Modify user password.

Request query parameters parameter type description username string

the username

key string

user key

Example
{"password":"new password"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/password#","title":"Password","type":"object","properties":{"password":{"type":"string"},"currentPassword":{"type":"string"}},"additionalProperties":false}
Responses Find users with all permissions  deprecatedGET /rest/api/2/user/permission/search

Returns a list of active users that match the search string and have all specified permissions for the project or issue.
This resource can be accessed by users with ADMINISTER_PROJECT permission for the project or global ADMIN or SYSADMIN rights.
This endpoint can cause serious performance issues and will be removed in Jira 9.0.

Request query parameters parameter type description username string

the username filter, list includes all users if unspecified

permissions string

comma separated list of permissions for project or issue returned users must have, see Permissions JavaDoc for the list of all possible permissions.

issueKey string

the issue key for the issue for which returned users have specified permissions.

projectKey string

the optional project key to search for users with if no issueKey is supplied.

startAt int

the index of the first user to return (0-based)

maxResults int

the maximum number of users to return (defaults to 50). The maximum allowed value is 1000. If you specify a value that is higher than this number, your search results will be truncated.

Responses Find users for pickerGET /rest/api/2/user/picker

Returns a list of users matching query with highlighting.

Request query parameters parameter type description query string

A string used to search username, Name or e-mail address

maxResults int

the maximum number of users to return (defaults to 50). The maximum allowed value is 1000. If you specify a value that is higher than this number, your search results will be truncated.

showAvatar boolean exclude string Responses Find usersGET /rest/api/2/user/search

Returns a list of users that match the search string. This resource cannot be accessed anonymously.

Request query parameters parameter type description username string

A query string used to search username, name or e-mail address

startAt int

the index of the first user to return (0-based)

maxResults int

the maximum number of users to return (defaults to 50). The maximum allowed value is 1000. If you specify a value that is higher than this number, your search results will be truncated.

includeActive boolean

If true, then active users are included in the results (default true)

includeInactive boolean

If true, then inactive users are included in the results (default false)

Responses Find users with browse permissionGET /rest/api/2/user/viewissue/search

Returns a list of active users that match the search string. This resource cannot be accessed anonymously and requires the Browse Users global permission. Given an issue key this resource will provide a list of users that match the search string and have the browse issue permission for the issue provided.

Request query parameters parameter type description username string

the username filter, no users returned if left blank

issueKey string

the issue key for the issue being edited we need to find viewable users for.

projectKey string

the optional project key to search for users with if no issueKey is supplied.

maxResults int

the maximum number of users to return (defaults to 50). The maximum allowed value is 100. If you specify a value that is higher than this number, your search results will be truncated.

Responses api/2/user/a11y/personal-settings Get a11y personal settingsGET /rest/api/2/user/a11y/personal-settings

Returns available accessibility personal settings along with `enabled` property that indicates the currently logged-in user preference.

Responses api/2/user/anonymization Validate user anonymizationGET /rest/api/2/user/anonymization

Validates user anonymization process.

Request query parameters parameter type description userKey string

the key of the user to validate anonymization for.

expand string

Parameter used to include parts of the response. This can be used to include: affectedEntities. Affected entities will only be returned if expand=affectedEntities.

Responses Schedule user anonymizationPOST /rest/api/2/user/anonymization

Schedules a user anonymization process. Requires system admin permission.

Request Example
{"userKey":"JIRAUSER10100","newOwnerKey":"admin"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-anonymization-request#","title":"User Anonymization Request","type":"object","properties":{"userKey":{"type":"string"},"newOwnerKey":{"type":"string"}},"additionalProperties":false}
Responses Validate user anonymization rerunGET /rest/api/2/user/anonymization/rerun

Validates user anonymization re-run process.

Request query parameters parameter type description userKey string

the key of the user to validate anonymization for

oldUserKey string

user key before anonymization, only needed when current value is anonymized. If there is no old key, e.g. because the user was already created using the new key generation strategy, provide a value equal to the current key.

oldUserName string

user name before anonymization, only needed when the current value is anonymized. If there is no old name, provide a value equal to the current name.

expand string

Parameter used to include parts of the response. This can be used to include: affectedEntities. Affected entities will only be returned if expand=affectedEntities.

Responses Schedule user anonymization rerunPOST /rest/api/2/user/anonymization/rerun

Schedules a user anonymization process. Requires system admin permission.

Request Example
{"userKey":"JIRAUSER10100","newOwnerKey":"admin","oldUserKey":"fred","oldUserName":"freddie"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-anonymization-request#","title":"User Anonymization Request","type":"object","properties":{"userKey":{"type":"string"},"newOwnerKey":{"type":"string"}},"additionalProperties":false}
Responses Get progressGET /rest/api/2/user/anonymization/progress

Returns information about a user anonymization operation progress.

Request query parameters parameter type description taskId long

the id of a user anonymization task you wish to obtain details on. If omitted, then defaults to the active anonymization task, or the last task that was run if no anonymization is taking place.

Responses Unlock anonymizationDELETE /rest/api/2/user/anonymization/unlock

Removes stale user anonymization task, for scenarios when the node that was executing it is no longer alive.

Use it only after making sure that the parent node of the task is actually down, and not just having connectivity issues.

Responses api/2/user/properties Get properties keysGET /rest/api/2/user/properties

Returns the keys of all properties for the user identified by the key or by the id.

Request query parameters parameter type description userKey string

key of the user whose properties are to be returned

username string

username of the user whose properties are to be returned

Responses Delete propertyDELETE /rest/api/2/user/properties/{propertyKey}

Removes the property from the user identified by the key or by the id. Ths user removing the property is required to have permissions to administer the user.

Request query parameters parameter type description userKey string

key of the user whose property is to be removed

username string

username of the user whose property is to be removed

Responses Set propertyPUT /rest/api/2/user/properties/{propertyKey}

Sets the value of the specified user's property.

You can use this resource to store a custom data against the user identified by the key or by the id. The user who stores the data is required to have permissions to administer the user.

Request query parameters parameter type description userKey string

key of the user whose property is to be set

username string

username of the user whose property is to be set

Responses Get propertyGET /rest/api/2/user/properties/{propertyKey}

Returns the value of the property with a given key from the user identified by the key or by the id. The user who retrieves the property is required to have permissions to read the user.

Request query parameters parameter type description userKey string

key of the user whose property is to be returned

username string

username of the user whose property is to be returned

Responses api/2/version Get paginated versions  experimentalGET /rest/api/2/version

Retrieve paginated collection of versions matching given query optionally filtered by given project IDs.

Request query parameters parameter type description startAt long

Default: 0

optional index of the first version to return

maxResults int

Default: 100

optional maximum number of versions to return

query string

Default:

optional string that version names will be matched with

projectIds string

optional set of project IDs to filter versions with

Responses Create versionPOST /rest/api/2/version

Create a version via POST.

Request Example
{"description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","userReleaseDate":"6/Jul/2010","project":"PXA","projectId":10000}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"},"params":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}
Responses Move versionPOST /rest/api/2/version/{id}/move

Modify a version's sequence within a project.

The move version bean has 2 alternative field value pairs:

position
An absolute position, which may have a value of 'First', 'Last', 'Earlier' or 'Later'
after
A version to place this version after. The value should be the self link of another version
Request Example
{"after":"http://www.example.com/jira/rest/api/2/version/10000"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/version-move#","title":"Version Move","type":"object","properties":{"after":{"type":"string","format":"uri"},"position":{"type":"string","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false}
Responses Get versionGET /rest/api/2/version/{id}

Returns a project version.

Request query parameters parameter type description expand string Responses Update versionPUT /rest/api/2/version/{id}

Modify a version via PUT. Any fields present in the PUT will override existing values. As a convenience, if a field is not present, it is silently ignored.

Request Example
{"self":"http://www.example.com/jira/rest/api/2/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"},"params":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}
Responses Delete  deprecatedDELETE /rest/api/2/version/{id}

Delete a project version.

Request query parameters parameter type description moveFixIssuesTo string

The version to set fixVersion to on issues where the deleted version is the fix version, If null then the fixVersion is removed.

moveAffectedIssuesTo string

The version to set affectedVersion to on issues where the deleted version is the affected version, If null then the affectedVersion is removed.

Responses MergePUT /rest/api/2/version/{id}/mergeto/{moveIssuesTo}

Merge versions

Responses Get version related issuesGET /rest/api/2/version/{id}/relatedIssueCounts

Returns a bean containing the number of fixed in and affected issues for the given version.

Responses DeletePOST /rest/api/2/version/{id}/removeAndSwap

Delete a project version.

Request Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/delete-and-replace-version#","title":"Delete And Replace Version","type":"object"}
Responses Get version unresolved issuesGET /rest/api/2/version/{id}/unresolvedIssueCount

Returns the number of unresolved issues for the given version

Responses Get remote version links by version idGET /rest/api/2/version/{versionId}/remotelink

Returns the remote version links associated with the given version ID.

Responses Create or update remote version linkPOST /rest/api/2/version/{versionId}/remotelink

Create a remote version link via POST. The link's global ID will be taken from the JSON payload if provided; otherwise, it will be generated.

Request Example
{"globalId":"SomeGlobalId","myCustomLinkProperty":true,"colors":["red","green","blue"],"notes":["Remote version links may take any well-formed JSON shape that is desired,","provided that they fit within the maximum buffer size allowed,","which is currently 32,768 characters."]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Responses Delete remote version links by version idDELETE /rest/api/2/version/{versionId}/remotelink

Delete all remote version links for a given version ID.

Responses Get remote version linkGET /rest/api/2/version/{versionId}/remotelink/{globalId}

A REST sub-resource representing a remote version link

Responses Create or update remote version linkPOST /rest/api/2/version/{versionId}/remotelink/{globalId}

Create a remote version link via POST. The link's global ID will be taken from the JSON payload if provided; otherwise, it will be generated.

Request Example
{"globalId":"SomeGlobalId","myCustomLinkProperty":true,"colors":["red","green","blue"],"notes":["Remote version links may take any well-formed JSON shape that is desired,","provided that they fit within the maximum buffer size allowed,","which is currently 32,768 characters."]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Responses Delete remote version linkDELETE /rest/api/2/version/{versionId}/remotelink/{globalId}

Delete a specific remote version link with the given version ID and global ID.

Responses Get remote version linksGET /rest/api/2/version/remotelink

Returns the remote version links for a given global ID.

Request query parameters parameter type description globalId string

the global ID of the remote resource that is linked to the versions

Responses api/2/workflow

REST resource for retrieving workflows.

Get all workflowsGET /rest/api/2/workflow

Returns all workflows. The “lastModifiedDate” is returned in Jira Complete Date/Time Format (dd/MMM/yy h:mm by default), but can also be returned as a relative date.

Request query parameters parameter type description workflowName string Responses Update propertyPUT /rest/api/2/workflow/{id}/properties

Update/add new property to a transition. Trying to update a property that does not exist will result in a new property being added.

Request query parameters parameter type description key string

the name of the property to add.

workflowName string

the name of the workflow to use.

workflowMode string

the type of workflow to use. Can either be "live" or "draft".

Example
{"value":"createissue"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"key":{"type":"string"}},"additionalProperties":false}
Responses Create propertyPOST /rest/api/2/workflow/{id}/properties

Add a new property to a transition. Trying to add a property that already exists will fail.

Request query parameters parameter type description key string

the name of the property to add.

workflowName string

the name of the workflow to use.

workflowMode string

the type of workflow to use. Can either be "live" or "draft".

Example
{"value":"createissue"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"key":{"type":"string"}},"additionalProperties":false}
Responses Delete propertyDELETE /rest/api/2/workflow/{id}/properties

Delete a property from the passed transition on the passed workflow. It is not an error to delete a property that does not exist.

Request query parameters parameter type description key string

the name of the property to add.

workflowName string

the name of the workflow to use.

workflowMode string

the type of workflow to use. Can either be "live" or "draft".

Responses Get propertiesGET /rest/api/2/workflow/{id}/properties

Return the property or properties associated with a transition.

Request query parameters parameter type description includeReservedKeys boolean

some keys under the "jira." prefix are editable, some are not. Set this to true in order to include the non-editable keys in the response.

key string

the name of the property key to query. Can be left off the query to return all properties.

workflowName string

the name of the workflow to use.

workflowMode string

the type of workflow to use. Can either be "live" or "draft".

Responses api/2/workflowscheme Create schemePOST /rest/api/2/workflowscheme

Create a new workflow scheme.

The body contains a representation of the new scheme. Values not passed are assumed to be set to their defaults.

Request Example
{"name":"New Workflow Scheme Name","description":"New Workflow Scheme Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId":"WorkflowName"}}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}
Responses Delete schemeDELETE /rest/api/2/workflowscheme/{id}

Delete the passed workflow scheme.

Responses Get by idGET /rest/api/2/workflowscheme/{id}

Returns the requested workflow scheme to the caller.

Request query parameters parameter type description returnDraftIfExists boolean

Default: false

when true indicates that a scheme's draft, if it exists, should be queried instead of the scheme itself.

Responses UpdatePUT /rest/api/2/workflowscheme/{id}

Update the passed workflow scheme.

The body of the request is a representation of the workflow scheme. Values not passed are assumed to indicate no change for that field.

The passed representation can have its updateDraftIfNeeded flag set to true to indicate that the draft should be created and/or updated when the actual scheme cannot be edited (e.g. when the scheme is being used by a project). Values not appearing the body will not be touched.

Request Example
{"id":57585,"name":"Updated Workflow Scheme Name","description":"Updated Workflow Scheme Name","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId":"WorkflowName"},"updateDraftIfNeeded":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}
Responses Create draft for parentPOST /rest/api/2/workflowscheme/{id}/createdraft

Create a draft for the passed scheme. The draft will be a copy of the state of the parent.

Responses Delete defaultDELETE /rest/api/2/workflowscheme/{id}/default

Remove the default workflow from the passed workflow scheme.

Request query parameters parameter type description updateDraftIfNeeded boolean

when true will create and return a draft when the workflow scheme cannot be edited (e.g. when it is being used by a project).

Responses Update defaultPUT /rest/api/2/workflowscheme/{id}/default

Set the default workflow for the passed workflow scheme.

The passed representation can have its updateDraftIfNeeded flag set to true to indicate that the draft should be created/updated when the actual scheme cannot be edited.

Request Example
{"workflow":"WorkflowName","updateDraftIfNeeded":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/default#","title":"Default","type":"object","properties":{"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}
Responses Get defaultGET /rest/api/2/workflowscheme/{id}/default

Return the default workflow from the passed workflow scheme.

Request query parameters parameter type description returnDraftIfExists boolean

Default: false

when true indicates that a scheme's draft, if it exists, should be queried instead of the scheme itself.

Responses Update draftPUT /rest/api/2/workflowscheme/{id}/draft

Update a draft workflow scheme. The draft will created if necessary.

The body is a representation of the workflow scheme. Values not passed are assumed to indicate no change for that field.

Request Example
{"id":57585,"name":"Updated Workflow Scheme Name","description":"Updated Workflow Scheme Name","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId":"WorkflowName"},"updateDraftIfNeeded":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"deleted":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"lastLoginTime":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}
Responses Delete draft by idDELETE /rest/api/2/workflowscheme/{id}/draft

Delete the passed draft workflow scheme.

Responses Get draft by idGET /rest/api/2/workflowscheme/{id}/draft

Returns the requested draft workflow scheme to the caller.

Responses Get draft defaultGET /rest/api/2/workflowscheme/{id}/draft/default

Return the default workflow from the passed draft workflow scheme to the caller.

Responses Delete draft defaultDELETE /rest/api/2/workflowscheme/{id}/draft/default

Remove the default workflow from the passed draft workflow scheme.

Responses Update draft defaultPUT /rest/api/2/workflowscheme/{id}/draft/default

Set the default workflow for the passed draft workflow scheme.

Request Example
{"workflow":"WorkflowName","updateDraftIfNeeded":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/default#","title":"Default","type":"object","properties":{"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}
Responses Get draft issue typeGET /rest/api/2/workflowscheme/{id}/draft/issuetype/{issueType}

Returns the issue type mapping for the passed draft workflow scheme.

Responses Delete draft issue typeDELETE /rest/api/2/workflowscheme/{id}/draft/issuetype/{issueType}

Remove the specified issue type mapping from the draft scheme.

Responses Set draft issue typePUT /rest/api/2/workflowscheme/{id}/draft/issuetype/{issueType}

Set the issue type mapping for the passed draft scheme.

The passed representation can have its updateDraftIfNeeded flag set to true to indicate that the draft should be created/updated when the actual scheme cannot be edited.

Request Example
{"issueType":"IssueTypeId","workflow":"WorkflowName","updateDraftIfNeeded":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-mapping#","title":"Issue Type Mapping","type":"object","properties":{"issueType":{"type":"string"},"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}
Responses Get draft workflowGET /rest/api/2/workflowscheme/{id}/draft/workflow

Returns the draft workflow mappings or requested mapping to the caller.

Request query parameters parameter type description workflowName string

the workflow mapping to return. Null can be passed to return all mappings. Must be a valid workflow name.

Responses Delete draft workflow mappingDELETE /rest/api/2/workflowscheme/{id}/draft/workflow

Delete the passed workflow from the draft workflow scheme.

Request query parameters parameter type description workflowName string

the name of the workflow to delete.

Responses Update draft workflow mappingPUT /rest/api/2/workflowscheme/{id}/draft/workflow

Update the draft scheme to include the passed mapping.

The body is a representation of the workflow mapping. Values not passed are assumed to indicate no change for that field.

Request query parameters parameter type description workflowName string

the name of the workflow mapping to update.

Example
{"workflow":"WorkflowName3","issueTypes":["IssueTypeId"],"updateDraftIfNeeded":true}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-mapping#","title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}
Responses Get issue typeGET /rest/api/2/workflowscheme/{id}/issuetype/{issueType}

Returns the issue type mapping for the passed workflow scheme.

Request query parameters parameter type description returnDraftIfExists boolean

Default: false

when true indicates that a scheme's draft, if it exists, should be queried instead of the scheme itself.

Responses Set issue typePUT /rest/api/2/workflowscheme/{id}/issuetype/{issueType}

Set the issue type mapping for the passed scheme.

The passed representation can have its updateDraftIfNeeded flag set to true to indicate that the draft should be created/updated when the actual scheme cannot be edited.

Request Example
{"issueType":"IssueTypeId","workflow":"WorkflowName","updateDraftIfNeeded":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-mapping#","title":"Issue Type Mapping","type":"object","properties":{"issueType":{"type":"string"},"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}
Responses Delete issue typeDELETE /rest/api/2/workflowscheme/{id}/issuetype/{issueType}

Remove the specified issue type mapping from the scheme.

Request query parameters parameter type description updateDraftIfNeeded boolean

when true will create and return a draft when the workflow scheme cannot be edited (e.g. when it is being used by a project).

Responses Get workflowGET /rest/api/2/workflowscheme/{id}/workflow

Returns the workflow mappings or requested mapping to the caller for the passed scheme.

Request query parameters parameter type description workflowName string

the workflow mapping to return. Null can be passed to return all mappings. Must be a valid workflow name.

returnDraftIfExists boolean

Default: false

when true indicates that a scheme's draft, if it exists, should be queried instead of the scheme itself.

Responses Delete workflow mappingDELETE /rest/api/2/workflowscheme/{id}/workflow

Delete the passed workflow from the workflow scheme.

Request query parameters parameter type description workflowName string

the name of the workflow to delete.

updateDraftIfNeeded boolean

flag to indicate if a draft should be created if necessary to delete the workflow from the scheme.

Responses Update workflow mappingPUT /rest/api/2/workflowscheme/{id}/workflow

Update the scheme to include the passed mapping.

The body is a representation of the workflow mapping. Values not passed are assumed to indicate no change for that field.

The passed representation can have its updateDraftIfNeeded flag set to true to indicate that the draft should be created/updated when the actual scheme cannot be edited.

Request query parameters parameter type description workflowName string

the name of the workflow mapping to update.

Example
{"workflow":"WorkflowName3","issueTypes":["IssueTypeId"],"updateDraftIfNeeded":true}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-mapping#","title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}
Responses api/2/worklog Get ids of worklogs deleted sinceGET /rest/api/2/worklog/deleted

Returns worklogs id and delete time of worklogs that was deleted since given time. The returns set of worklogs is limited to 1000 elements. This API will not return worklogs deleted during last minute.

Request query parameters parameter type description since long

Default: 0

a date time in unix timestamp format since when deleted worklogs will be returned.

Responses Get worklogs for idsPOST /rest/api/2/worklog/list

Returns worklogs for given worklog ids. Only worklogs to which the calling user has permissions, will be included in the result. The returns set of worklogs is limited to 1000 elements.

Request Example
{"ids":[1,2,5,10]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/worklog-ids-request#","title":"Worklog Ids Request","type":"object","properties":{"ids":{"type":"array","items":{"type":"integer"}}},"additionalProperties":false}
Responses Get ids of worklogs modified sinceGET /rest/api/2/worklog/updated

Returns worklogs id and update time of worklogs that was updated since given time. The returns set of worklogs is limited to 1000 elements. This API will not return worklogs updated during last minute.

Request query parameters parameter type description since long

Default: 0

a date time in unix timestamp format since when updated worklogs will be returned.

Responses auth/1/session

Implement a REST resource for acquiring a session cookie.

LogoutDELETE /rest/auth/1/session

Logs the current user out of Jira, destroying the existing session, if any.

Responses Current userGET /rest/auth/1/session

Returns information about the currently authenticated user's session. If the caller is not authenticated they will get a 401 Unauthorized status code.

Responses LoginPOST /rest/auth/1/session

Creates a new session for a user in Jira. Once a session has been successfully created it can be used to access any of Jira's remote APIs and also the web UI by passing the appropriate HTTP Cookie header.

Note that it is generally preferrable to use HTTP BASIC authentication with the REST API. However, this resource may be used to mimic the behaviour of Jira's log-in page (e.g. to display log-in errors to a user).

Request Example
{"username":"fred","password":"freds_password"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/auth-params#","title":"Auth Params","type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false}
Responses auth/1/websudo ReleaseDELETE /rest/auth/1/websudo

This method invalidates the any current WebSudo session.

Responses

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4